/* BRASFORT V2 - REFINOS MOBILE, TOP 20 E HORARIO GLOBAL V577 R4 */

:root{
  --bf577-navy:#06366f;
  --bf577-blue:#0872c9;
  --bf577-cyan:#21a6d8;
  --bf577-ink:#17324d;
  --bf577-muted:#667f96;
  --bf577-line:#d9e6f1;
  --bf577-soft:#f4f8fc;
  --bf577-card:#ffffff;
  --bf577-safe-bottom:max(10px,env(safe-area-inset-bottom));
}

.bf-v577-mobile-dock,
.bf-v577-mobile-brand,
.bf-v577-filter-toggle{display:none;}

/* Top 20: a estrutura V577 separa titulo e indicadores tambem no desktop. */
body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-top-card{
  grid-template-columns:64px 94px minmax(0,1fr) !important;
  grid-template-areas:"rank image title" "rank image metrics" "action action action" !important;
  align-items:center !important;
}
body[data-bf-path="/campanha/top20-populares"] .bf-v577-product-title{
  grid-area:title !important;
  display:block !important;
  min-width:0 !important;
}
body[data-bf-path="/campanha/top20-populares"] .bf-v577-product-title>small{
  display:block !important;
  color:#7188a1 !important;
  font-size:9px !important;
  font-weight:850 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
body[data-bf-path="/campanha/top20-populares"] .bf-v577-product-title h3{
  display:-webkit-box !important;
  margin:4px 0 0 !important;
  overflow:hidden !important;
  color:var(--bf577-navy) !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
}
body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20-metrics{
  grid-area:metrics !important;
  align-self:end !important;
}

@media (max-width:760px){
  html{
    width:100% !important;
    overflow-x:hidden !important;
    scroll-padding-top:74px;
    -webkit-text-size-adjust:100%;
  }
  body.bf-v577-shell{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    background:#f2f7fb !important;
    color:var(--bf577-ink) !important;
    -webkit-tap-highlight-color:transparent;
  }
  body.bf-v577-shell *,
  body.bf-v577-shell *::before,
  body.bf-v577-shell *::after{box-sizing:border-box !important;}
  body.bf-v577-shell button,
  body.bf-v577-shell a,
  body.bf-v577-shell input,
  body.bf-v577-shell select,
  body.bf-v577-shell summary{touch-action:manipulation;}
  body.bf-v577-shell .bf-app-shell,
  body.bf-v577-shell .bf-workspace{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
  }

  /* Cabecalho compacto, legivel e estavel. */
  body.bf-v577-shell .bf-topbar{
    position:sticky !important;
    top:0 !important;
    z-index:900 !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:9px !important;
    width:100% !important;
    height:64px !important;
    min-height:64px !important;
    padding:7px max(10px,env(safe-area-inset-right)) 7px max(10px,env(safe-area-inset-left)) !important;
    border-bottom:1px solid #dbe6f0 !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 5px 18px rgba(10,54,99,.075) !important;
    backdrop-filter:blur(16px) !important;
  }
  body.bf-v577-shell .bf-menu-toggle{
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    border:1px solid #d5e3ef !important;
    border-radius:13px !important;
    background:#f8fbfe !important;
    color:var(--bf577-navy) !important;
    box-shadow:none !important;
  }
  body.bf-v577-shell .bf-menu-toggle svg{
    display:block !important;
    width:21px !important;
    height:21px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2 !important;
  }
  body.bf-v577-shell .bf-v577-mobile-brand{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    color:var(--bf577-navy) !important;
    text-decoration:none !important;
  }
  body.bf-v577-shell .bf-v577-mobile-brand img{
    width:33px !important;
    height:33px !important;
    object-fit:contain !important;
  }
  body.bf-v577-shell .bf-v577-mobile-brand span,
  body.bf-v577-shell .bf-v577-mobile-brand b,
  body.bf-v577-shell .bf-v577-mobile-brand small{display:block !important;}
  body.bf-v577-shell .bf-v577-mobile-brand b{
    font-size:12px !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
  }
  body.bf-v577-shell .bf-v577-mobile-brand small{
    margin-top:3px !important;
    color:#6b8298 !important;
    font-size:8px !important;
    font-weight:750 !important;
  }
  body.bf-v577-shell .bf-command-shell,
  body.bf-v577-shell .bf-update,
  body.bf-v577-shell .bf-top-actions{display:none !important;}
  body.bf-v577-shell .bf-header-score{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    width:auto !important;
    min-width:0 !important;
    min-height:42px !important;
    margin:0 !important;
    padding:4px 9px 4px 5px !important;
    border:1px solid #d7e4ef !important;
    border-radius:14px !important;
    background:#f8fbfe !important;
    box-shadow:none !important;
  }
  body.bf-v577-shell .bf-header-medal{
    display:grid !important;
    place-items:center !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:11px !important;
  }
  body.bf-v577-shell .bf-header-medal b{font-size:15px !important;}
  body.bf-v577-shell .bf-header-rank-copy,
  body.bf-v577-shell .bf-header-score-divider,
  body.bf-v577-shell .bf-header-score>div:last-child small{display:none !important;}
  body.bf-v577-shell .bf-header-score>div:last-child b{
    display:block !important;
    color:#0a5cae !important;
    font-size:13px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  /* Menu lateral vira gaveta de aplicativo. */
  body.bf-v577-shell .bf-sidebar{
    position:fixed !important;
    inset:0 auto 0 0 !important;
    z-index:1100 !important;
    width:min(88vw,350px) !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom)) !important;
    overflow:hidden !important;
    transform:translateX(-104%) !important;
    transition:transform .24s ease !important;
    border-radius:0 24px 24px 0 !important;
    box-shadow:20px 0 50px rgba(3,24,49,.28) !important;
  }
  body.bf-v577-shell.bf-menu-open .bf-sidebar{transform:translateX(0) !important;}
  body.bf-v577-shell .bf-sidebar-collapse{display:none !important;}
  body.bf-v577-shell .bf-brand{padding:4px 7px 13px !important;}
  body.bf-v577-shell .bf-nav{
    padding-bottom:78px !important;
    overscroll-behavior:contain !important;
  }
  body.bf-v577-shell .bf-nav a,
  body.bf-v577-shell .bf-nav button{min-height:44px !important;}
  body.bf-v577-shell .bf-mobile-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:1050 !important;
    background:rgba(3,24,49,.54) !important;
    backdrop-filter:blur(2px) !important;
  }
  body.bf-v577-shell.bf-menu-open .bf-mobile-backdrop{display:block !important;}

  /* Area de conteudo e navegacao inferior. */
  body.bf-v577-shell .bf-content{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:calc(100dvh - 64px) !important;
    padding:11px max(10px,env(safe-area-inset-right)) calc(88px + var(--bf577-safe-bottom)) max(10px,env(safe-area-inset-left)) !important;
    overflow:visible !important;
  }
  body.bf-v577-shell .bf-v522-global-footer{display:none !important;}
  body.bf-v577-shell .bf-v577-mobile-dock{
    position:fixed !important;
    left:max(8px,env(safe-area-inset-left)) !important;
    right:max(8px,env(safe-area-inset-right)) !important;
    bottom:var(--bf577-safe-bottom) !important;
    z-index:980 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:2px !important;
    height:66px !important;
    padding:5px !important;
    border:1px solid rgba(197,216,232,.95) !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 14px 38px rgba(4,39,76,.21) !important;
    backdrop-filter:blur(18px) !important;
  }
  body.bf-v577-shell .bf-v577-mobile-dock a,
  body.bf-v577-shell .bf-v577-mobile-dock button{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    min-width:0 !important;
    min-height:54px !important;
    padding:4px 2px !important;
    border:0 !important;
    border-radius:15px !important;
    background:transparent !important;
    color:#6d8398 !important;
    font:800 8px/1.05 inherit !important;
    text-decoration:none !important;
  }
  body.bf-v577-shell .bf-v577-mobile-dock a.active{
    background:#eaf4fc !important;
    color:#075eae !important;
  }
  body.bf-v577-shell .bf-v577-mobile-dock svg{
    width:20px !important;
    height:20px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.9 !important;
  }
  body.bf-v577-shell .bf-v577-mobile-dock span{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  /* Hierarquia tipografica e cabecalhos comuns. */
  body.bf-v577-shell .bf-page,
  body.bf-v577-shell .bf-v406-page,
  body.bf-v577-shell .bf-v517-page,
  body.bf-v577-shell .bf-v517-account-page{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    gap:12px !important;
  }
  body.bf-v577-shell .bf-page-head,
  body.bf-v577-shell .bf-v406-page-head,
  body.bf-v577-shell .bf-v405-page-head,
  body.bf-v577-shell .bf-v517-page-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin:0 0 4px !important;
    padding:2px 2px 0 !important;
  }
  body.bf-v577-shell .bf-page-head h1,
  body.bf-v577-shell .bf-v406-page-head h1,
  body.bf-v577-shell .bf-v405-page-head h1,
  body.bf-v577-shell .bf-v517-page-head h1,
  body.bf-v577-shell .bf-v517-account-page h1{
    margin:0 !important;
    color:var(--bf577-navy) !important;
    font-size:clamp(24px,7.2vw,29px) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
    overflow-wrap:anywhere !important;
  }
  body.bf-v577-shell .bf-page-head p,
  body.bf-v577-shell .bf-v406-page-head p,
  body.bf-v577-shell .bf-v405-page-head p,
  body.bf-v577-shell .bf-v517-page-head p{
    margin:5px 0 0 !important;
    color:var(--bf577-muted) !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }
  body.bf-v577-shell .eyebrow{
    margin-bottom:4px !important;
    font-size:9px !important;
    letter-spacing:.09em !important;
  }
  body.bf-v577-shell .bf-page-actions,
  body.bf-v577-shell .bf-v517-page-head .actions,
  body.bf-v577-shell .bf-v406-page-head .actions{
    display:flex !important;
    gap:7px !important;
    width:100% !important;
    padding-bottom:2px !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  body.bf-v577-shell .bf-page-actions::-webkit-scrollbar,
  body.bf-v577-shell .bf-v517-page-head .actions::-webkit-scrollbar{display:none !important;}
  body.bf-v577-shell .bf-page-actions .bf-btn,
  body.bf-v577-shell .bf-v517-page-head .actions a,
  body.bf-v577-shell .bf-v406-page-head>a{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    min-height:40px !important;
    padding:8px 12px !important;
    white-space:nowrap !important;
  }
  body.bf-v577-shell .bf-card,
  body.bf-v577-shell .bf-v406-card{
    border-radius:17px !important;
    box-shadow:0 8px 24px rgba(8,52,101,.055) !important;
  }

  /* A orientacao sobre computador fica somente no inicio e sem dominar a tela. */
  body.bf-v577-shell .bf-v577-mobile-note{display:none !important;}
  body.bf-v577-shell[data-bf-path="/campanha/dashboard"] .bf-v577-mobile-note{
    display:grid !important;
    grid-template-columns:32px minmax(0,1fr) 30px !important;
    gap:8px !important;
    margin:0 0 10px !important;
    padding:9px !important;
    border-radius:13px !important;
  }
  body.bf-v577-shell .bf-v577-mobile-note .bf-v576-desktop-tip-icon{
    width:30px !important;
    height:30px !important;
    border-radius:9px !important;
  }
  body.bf-v577-shell .bf-v577-mobile-note strong{font-size:11px !important;}
  body.bf-v577-shell .bf-v577-mobile-note p{
    margin-top:2px !important;
    font-size:9px !important;
    line-height:1.35 !important;
  }
  body.bf-v577-shell .bf-v577-mobile-note button{
    width:30px !important;
    height:30px !important;
    min-height:30px !important;
  }

  /* Filtros recolhiveis: resultados aparecem antes dos formularios extensos. */
  body.bf-v577-shell .bf-v577-filter-toggle{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) auto 22px !important;
    align-items:center !important;
    gap:9px !important;
    width:100% !important;
    min-height:52px !important;
    margin:0 !important;
    padding:8px 11px !important;
    border:1px solid #cfe0ed !important;
    border-radius:15px !important;
    background:#fff !important;
    color:var(--bf577-navy) !important;
    text-align:left !important;
    box-shadow:0 6px 18px rgba(8,52,101,.05) !important;
  }
  body.bf-v577-shell .bf-v577-filter-toggle-icon{
    display:grid !important;
    gap:4px !important;
    width:32px !important;
    height:32px !important;
    padding:8px 6px !important;
    border-radius:10px !important;
    background:#eaf4fc !important;
  }
  body.bf-v577-shell .bf-v577-filter-toggle-icon i{
    display:block !important;
    height:2px !important;
    border-radius:2px !important;
    background:#0872c9 !important;
  }
  body.bf-v577-shell .bf-v577-filter-toggle span,
  body.bf-v577-shell .bf-v577-filter-toggle b,
  body.bf-v577-shell .bf-v577-filter-toggle small{display:block !important;}
  body.bf-v577-shell .bf-v577-filter-toggle b{font-size:12px !important;}
  body.bf-v577-shell .bf-v577-filter-toggle small{
    margin-top:2px !important;
    color:#71879c !important;
    font-size:9px !important;
  }
  body.bf-v577-shell .bf-v577-filter-toggle em{
    display:grid !important;
    place-items:center !important;
    min-width:22px !important;
    height:22px !important;
    padding:0 5px !important;
    border-radius:999px !important;
    background:#0872c9 !important;
    color:#fff !important;
    font-size:9px !important;
    font-style:normal !important;
    font-weight:900 !important;
  }
  body.bf-v577-shell .bf-v577-filter-toggle em[hidden]{display:none !important;}
  body.bf-v577-shell .bf-v577-filter-toggle>strong{
    font-size:18px !important;
    transition:transform .18s ease !important;
  }
  body.bf-v577-shell .bf-v577-filter-toggle.is-open>strong{transform:rotate(180deg) !important;}
  body.bf-v577-shell.bf-v577-ready .bf-v577-filter-panel:not(.is-open){display:none !important;}
  body.bf-v577-shell .bf-v577-filter-panel.is-open{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    margin:0 !important;
    padding:11px !important;
    border:1px solid var(--bf577-line) !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 8px 22px rgba(8,52,101,.06) !important;
  }
  body.bf-v577-shell .bf-v577-filter-panel>*{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  body.bf-v577-shell .bf-v577-filter-panel input,
  body.bf-v577-shell .bf-v577-filter-panel select,
  body.bf-v577-shell .bf-v577-filter-panel button{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    font-size:16px !important;
  }

  /* Dashboard: primeiro o essencial, depois os detalhes. */
  body[data-bf-path="/campanha/dashboard"] .bf-v405-page-head{margin-bottom:0 !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-banner{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:9px !important;
    min-height:0 !important;
    padding:11px !important;
    border-radius:16px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-label{
    grid-column:1 !important;
    align-self:center !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-label strong,
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-ship{display:none !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-copy{grid-column:2 !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-copy h2{font-size:13px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-copy p{font-size:9px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
    grid-column:1/-1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    padding:8px 10px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal small{display:none !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal strong{font-size:12px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal span{font-size:8px !important;}
  body.bf-v577-shell[data-bf-path="/campanha/dashboard"] .bf-v521-award-banner{
    grid-template-columns:42px minmax(0,1fr) !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal{
    grid-column:1/3 !important;
    width:auto !important;
    min-height:44px !important;
    height:auto !important;
    padding:8px 10px !important;
    overflow:hidden !important;
    border:1px solid #d8e5f0 !important;
    border-radius:12px !important;
    background:#f3f8fd !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal strong{
    width:auto !important;
    color:var(--bf577-navy) !important;
    font-size:13px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/dashboard"] .bf-v521-award-goal span{
    width:auto !important;
    color:var(--bf577-muted) !important;
    font-size:8px !important;
    line-height:1.25 !important;
    text-align:right !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-campaign-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
    padding:15px !important;
    border-radius:18px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-campaign-copy p,
  body[data-bf-path="/campanha/dashboard"] .bf-v517-campaign-art{display:none !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-campaign-copy h2{font-size:22px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-current-tier{
    margin-top:11px !important;
    padding:11px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-rank-card,
  body[data-bf-path="/campanha/dashboard"] .bf-v405-points-card{
    min-height:0 !important;
    padding:14px !important;
    border-radius:18px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-rank-main{padding:8px 0 !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-medal-large{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v524-points-composition{
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:10px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v524-points-donut{
    width:98px !important;
    height:98px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v524-points-metrics{gap:5px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v524-points-metrics article{padding:6px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-cashback-status{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:11px !important;
    border-radius:18px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-cashback-intro,
  body[data-bf-path="/campanha/dashboard"] .bf-v405-cashback-notices{grid-column:1/-1 !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-cashback-status>article{
    min-height:0 !important;
    padding:9px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-cashback-status>article strong{font-size:15px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-cashback-status>article em{font-size:8px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-kpi-row,
  body[data-bf-path="/campanha/dashboard"] .bf-v405-breakdown-row{display:none !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v517-dashboard-focus,
  body[data-bf-path="/campanha/dashboard"] .bf-v405-bottom-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v517-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v517-actions a{
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    min-height:76px !important;
    padding:9px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v517-actions a em{display:none !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v517-chart-stage{min-height:180px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v517-performance-strip{
    grid-template-columns:1fr !important;
    gap:5px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-opportunity-list a{
    grid-template-columns:54px minmax(0,1fr) auto !important;
    gap:9px !important;
    padding:9px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-opportunity-list img{
    width:50px !important;
    height:50px !important;
  }
  body[data-bf-path="/campanha/dashboard"] .bf-v405-opportunity-list a>span{display:none !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v405-orders-card{display:none !important;}

  /* Pedidos: cartoes mais baixos, status na primeira linha e metricas 2x2. */
  body[data-bf-path="/campanha/pedidos"] .bf-v506-orders-table{padding:10px !important;}
  body[data-bf-path="/campanha/pedidos"] .bf-v506-orders-table .bf-card-head{
    gap:8px !important;
    padding:2px 2px 9px !important;
  }
  body[data-bf-path="/campanha/pedidos"] .bf-v506-orders-summary{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }
  body[data-bf-path="/campanha/pedidos"] .bf-v506-orders-summary span{
    min-width:0 !important;
    padding:7px 4px !important;
    text-align:center !important;
    font-size:7px !important;
  }
  body[data-bf-path="/campanha/pedidos"] .bf-v506-orders-summary b{
    display:block !important;
    overflow:hidden !important;
    font-size:10px !important;
    text-overflow:ellipsis !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-areas:"order status" "date items" "value points" "action action" !important;
    gap:9px 12px !important;
    margin:0 0 9px !important;
    padding:12px !important;
    border-radius:16px !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pedido"]{
    grid-area:order !important;
    grid-column:auto !important;
    padding:0 !important;
    border:0 !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Data"]{grid-area:date !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Itens"]{grid-area:items !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Faturamento"]{grid-area:value !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pontos"]{grid-area:points !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Status"]{
    grid-area:status !important;
    grid-column:auto !important;
    align-items:flex-end !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Status"]::before,
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Ação"]::before{display:none !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Ação"]{
    grid-area:action !important;
    grid-column:auto !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pedido"] a{font-size:17px !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pedido"] small{font-size:10px !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item .bf-pill{
    display:inline-flex !important;
    width:auto !important;
    min-height:28px !important;
    padding:5px 8px !important;
    border-radius:999px !important;
    font-size:9px !important;
    white-space:nowrap !important;
  }
  body[data-bf-path="/campanha/pedidos"] .bf-order-toggle{
    min-height:40px !important;
    border-radius:11px !important;
  }

  /* Detalhe do pedido: KPIs 2x2 e cada produto vira um resumo visual. */
  body[data-bf-path^="/campanha/pedido/"] .bf-kpi-grid.four{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-kpi{
    min-height:94px !important;
    padding:10px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-kpi p{display:none !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-kpi .ico{
    width:32px !important;
    height:32px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-analytics-row.equal{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row{
    grid-template-columns:66px repeat(2,minmax(0,1fr)) !important;
    gap:6px 9px !important;
    padding:11px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:first-child{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(2){grid-column:2 / -1 !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(3){grid-column:2 / -1 !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(n+4){
    grid-column:auto !important;
    display:block !important;
    padding:6px !important;
    border:1px solid #edf2f7 !important;
    border-radius:9px !important;
    background:#f8fbfe !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(n+4)::before{
    display:block !important;
    margin-bottom:2px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-product-thumb{
    width:62px !important;
    height:62px !important;
  }

  /* R2: estas paginas voltam ao layout mobile anterior aprovado. */
  @media (max-width:0px){
  /* Sugestoes e oportunidades: imagem ao lado do conteudo, sem cartoes gigantes. */
  body[data-bf-path="/campanha/sugestoes"] .bf-v517-suggestion-overview,
  body[data-bf-path="/campanha/produtos"] .bf-v517-suggestion-overview{
    padding:12px !important;
    border-radius:17px !important;
  }
  body .bf-v517-suggestion-numbers,
  body .bf-v517-opportunity-summary,
  body .bf-v504-summary-strip.four{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  body .bf-v517-suggestion-numbers article,
  body .bf-v517-opportunity-summary article,
  body .bf-v504-summary-strip.four article{
    min-width:0 !important;
    padding:9px !important;
  }
  body .bf-v517-opportunity-summary article:last-child:nth-child(odd){grid-column:1/-1 !important;}
  body .bf-v523-region-notice{
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:8px !important;
    padding:9px !important;
    border-radius:13px !important;
  }
  body .bf-v523-region-notice>span{
    width:32px !important;
    height:32px !important;
  }
  body .bf-v523-region-notice p{display:none !important;}
  body .bf-v504-campaign-strip{display:none !important;}
  body .bf-v504-product-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body .bf-v504-product-card{
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) !important;
    grid-template-areas:"top top" "image copy" "bottom bottom" !important;
    gap:8px 11px !important;
    min-height:0 !important;
    padding:11px !important;
    border-radius:16px !important;
  }
  body .bf-v504-product-top{grid-area:top !important;}
  body .bf-v504-product-image{
    grid-area:image !important;
    width:82px !important;
    height:82px !important;
    min-height:82px !important;
    padding:7px !important;
  }
  body .bf-v504-product-image img{
    width:68px !important;
    height:68px !important;
    object-fit:contain !important;
  }
  body .bf-v504-product-copy{grid-area:copy !important;min-width:0 !important;}
  body .bf-v504-product-copy h3{
    font-size:13px !important;
    line-height:1.25 !important;
    -webkit-line-clamp:3 !important;
  }
  body .bf-v504-product-bottom{
    grid-area:bottom !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    align-items:center !important;
    padding-top:8px !important;
  }
  body .bf-v504-product-bottom a{
    min-height:40px !important;
    padding:8px 11px !important;
  }
  body .bf-v517-opportunity-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body .bf-v517-opportunity-card{
    display:grid !important;
    grid-template-columns:76px minmax(0,1fr) !important;
    grid-template-areas:"badge copy" "image copy" "action action" !important;
    gap:7px 10px !important;
    min-height:0 !important;
    padding:11px !important;
    border-radius:16px !important;
  }
  body .bf-v517-opportunity-card>.badge{grid-area:badge !important;}
  body .bf-v517-opportunity-card>img{
    grid-area:image !important;
    width:72px !important;
    height:72px !important;
    object-fit:contain !important;
  }
  body .bf-v521-opportunity-copy{grid-area:copy !important;min-width:0 !important;}
  body .bf-v521-opportunity-copy h3{font-size:13px !important;line-height:1.25 !important;}
  body .bf-v517-opportunity-card>a{
    grid-area:action !important;
    min-height:40px !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody tr{
    grid-template-columns:66px minmax(0,1fr) !important;
    gap:6px 9px !important;
    padding:11px !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap td:nth-child(1) img{
    width:62px !important;
    height:62px !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap td:nth-child(n+4):nth-child(-n+7){
    grid-template-columns:88px minmax(0,1fr) !important;
    padding:6px 8px !important;
  }
  }

  /* Top 20: nenhuma area compartilha o mesmo espaco visual. */
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-hero{
    gap:14px !important;
    padding:18px 15px !important;
    border-radius:18px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-hero h1{font-size:30px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-lead{font-size:12px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-badges{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-badges span{
    width:auto !important;
    min-height:28px !important;
    padding:5px 8px !important;
    font-size:8px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-actions .bf-v406-button{
    min-height:40px !important;
    padding:7px !important;
    font-size:9px !important;
    white-space:normal !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-ranking-guide{display:none !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-ranking-heading{margin-top:2px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-ranking-heading span{font-size:21px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-top-card{
    grid-template-columns:56px 70px minmax(0,1fr) !important;
    grid-template-areas:"rank title title" "image metrics metrics" "action action action" !important;
    align-items:center !important;
    gap:8px 9px !important;
    min-height:0 !important;
    padding:11px !important;
    border-radius:17px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-rank{
    grid-area:rank !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    grid-template-columns:1fr auto !important;
    grid-template-rows:auto auto !important;
    padding:6px !important;
    border-radius:14px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-rank b{
    grid-row:1/-1 !important;
    font-size:18px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-rank small{font-size:6px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-thumb{
    grid-area:image !important;
    width:68px !important;
    height:68px !important;
    padding:6px !important;
    border-radius:14px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-thumb img{
    width:54px !important;
    height:54px !important;
    max-width:54px !important;
    max-height:54px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-product-title{
    grid-area:title !important;
    align-self:center !important;
    min-width:0 !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-product-title h3{
    min-height:0 !important;
    margin:3px 0 0 !important;
    font-size:13px !important;
    line-height:1.22 !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20-metrics{
    grid-area:metrics !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
    width:100% !important;
    min-width:0 !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-metric{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:2px !important;
    min-width:0 !important;
    min-height:62px !important;
    padding:6px 3px !important;
    text-align:center !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-metric svg{
    width:14px !important;
    height:14px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-metric b{font-size:14px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-metric small{font-size:6px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-card-link{
    grid-area:action !important;
    min-height:40px !important;
  }

  /* R2: Faixas de cashback volta ao layout mobile anterior aprovado. */
  @media (max-width:0px){
  /* Cashback: resumo em destaque e lista de faixas compacta. */
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    min-height:0 !important;
    padding:17px 14px !important;
    border-radius:19px !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-hero .copy h1{font-size:28px !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-hero .copy p{font-size:10px !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-hero .copy a{font-size:9px !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .current-medal{
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    gap:1px 8px !important;
    min-width:0 !important;
    padding:10px 12px !important;
    text-align:left !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .current-medal i{
    grid-row:1/-1 !important;
    align-self:center !important;
    font-size:25px !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .current-medal span,
  body[data-bf-path="/campanha/faixas-cashback"] .current-medal strong,
  body[data-bf-path="/campanha/faixas-cashback"] .current-medal small{grid-column:2 !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .current-medal strong{font-size:12px !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v526-current-hero-label{display:none !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-status{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-status article,
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-status .statement{
    min-height:0 !important;
    padding:10px 12px !important;
    border-radius:14px !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tiers-panel{padding:11px !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    gap:8px !important;
    min-height:0 !important;
    padding:10px !important;
    border-radius:14px !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier .rank{grid-column:1 !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier-medal{display:none !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier .tier-copy{grid-column:2 !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier .tier-copy h3{font-size:13px !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier .tier-copy p{display:none !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier dl{
    grid-column:3 !important;
    align-self:center !important;
    text-align:right !important;
  }
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-tier dl div:not(:first-child){display:none !important;}
  body[data-bf-path="/campanha/faixas-cashback"] .bf-v517-cashback-guide{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  }

  /* Regras: leitura progressiva e artes oficiais sem largura de desktop. */
  body[data-bf-path="/campanha/regras"] .bf-v520-rules-intro,
  body[data-bf-path="/campanha/regras"] .bf-v520-rules-layout,
  body[data-bf-path="/campanha/regras"] .bf-v520-rules-highlights{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body[data-bf-path="/campanha/regras"] .bf-v520-rules-intro{padding:12px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v520-rules-intro aside{padding:10px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v520-cruise,
  body[data-bf-path="/campanha/regras"] .bf-v520-simple{min-height:0 !important;padding:14px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v520-rule-cards{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  body[data-bf-path="/campanha/regras"] .bf-v520-rule-cards article{
    min-height:0 !important;
    padding:10px !important;
  }
  body[data-bf-path="/campanha/regras"] .bf-v520-rule-cards h3{font-size:12px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v520-rule-cards p{font-size:9px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v520-composition>div{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:5px !important;
  }
  body[data-bf-path="/campanha/regras"] .bf-v520-composition>div>strong{display:none !important;}
  body[data-bf-path="/campanha/regras"] .bf-v529-official-gallery{padding:10px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v529-official-card{padding:9px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v525-rules-controls{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }
  body[data-bf-path="/campanha/regras"] .bf-v525-rules-controls button{
    min-width:0 !important;
    min-height:42px !important;
    padding:7px !important;
    font-size:9px !important;
  }

  /* Devolucoes: KPIs 2x2, lista em cartoes e graficos empilhados. */
  body[data-bf-path="/campanha/devolucoes"] .bf-kpi-grid.four{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-kpi{
    min-height:96px !important;
    padding:10px !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-kpi p{display:none !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-analytics-row,
  body[data-bf-path="/campanha/devolucoes"] .bf-grid-2{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards,
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards tbody{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards thead{display:none !important;}
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards tr.bf-filter-item{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px 9px !important;
    margin-bottom:8px !important;
    padding:11px !important;
    border:1px solid var(--bf577-line) !important;
    border-radius:15px !important;
    background:#fff !important;
  }
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards td{
    display:block !important;
    min-width:0 !important;
    padding:5px !important;
    border:0 !important;
    white-space:normal !important;
  }
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards td::before{
    content:attr(data-label) !important;
    display:block !important;
    margin-bottom:3px !important;
    color:#70869b !important;
    font-size:8px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
  }
  body[data-bf-path="/campanha/devolucoes"] table.mobile-cards td[data-label="Produto"]{
    grid-column:1/-1 !important;
    order:-1 !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-impact{padding:12px !important;}

  /* Perfil, acessos e seguranca. */
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-head{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:9px !important;
    padding:12px !important;
    border-radius:17px !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-head .avatar{
    width:46px !important;
    height:46px !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-head .identity{grid-column:2 !important;}
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-head .identity p:last-child{display:none !important;}
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-head .profile-code{
    grid-column:1/-1 !important;
    padding:8px 10px !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-head>a{
    grid-column:1/-1 !important;
    width:100% !important;
    min-height:42px !important;
  }
  body .bf-v517-account-tabs{
    display:flex !important;
    gap:5px !important;
    width:100% !important;
    padding:4px !important;
    overflow-x:auto !important;
    border-radius:14px !important;
    scrollbar-width:none !important;
  }
  body .bf-v517-account-tabs>*{
    flex:1 0 auto !important;
    min-width:104px !important;
    min-height:40px !important;
    padding:7px 9px !important;
    white-space:nowrap !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-reference-grid,
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-access-reference-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-data,
  body[data-bf-path="/campanha/perfil"] .bf-v517-profile-team{padding:12px !important;}
  body[data-bf-path="/campanha/perfil"] .bf-v517-phone-grid{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-2fa-strip{
    grid-template-columns:40px minmax(0,1fr) !important;
    padding:11px !important;
  }
  body[data-bf-path="/campanha/perfil"] .bf-v517-2fa-strip>b{grid-column:1/-1 !important;}
  body .bf-v517-2fa-dialog{
    width:calc(100vw - 12px) !important;
    max-width:calc(100vw - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
    border-radius:18px !important;
  }
  body .bf-v517-2fa-steps{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-access-summary{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-access-summary article{
    min-width:0 !important;
    padding:9px !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-access-summary article:last-child{
    grid-column:1/-1 !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-table-wrap tbody td{
    grid-template-columns:92px minmax(0,1fr) !important;
  }
  body .bf-v517-security-page .bf-v517-2fa-layout{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  body .bf-v517-security-page .bf-v517-2fa-qr,
  body .bf-v517-security-page .bf-v517-2fa-confirm,
  body .bf-v517-security-page .bf-v517-verify-card{padding:12px !important;}

  /* R2: Revista volta integralmente ao leitor mobile anterior aprovado. */
  @media (max-width:0px){
  /* Revista: pagina unica e barra de polegar acima do dock. */
  body[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-note,
  body[data-bf-path="/campanha/revista-brasfort"] .mobile-hint-bar{display:none !important;}
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real{
    width:100% !important;
    margin:0 !important;
    padding:0 0 6px !important;
    overflow:visible !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .area-jornal{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] #jornal,
  body[data-bf-path="/campanha/revista-brasfort"] #jornal>.bf-v565-spread,
  body[data-bf-path="/campanha/revista-brasfort"] #jornal>.bf-v565-spread.is-mobile{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 auto !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar{
    position:fixed !important;
    left:4px !important;
    right:4px !important;
    top:auto !important;
    bottom:calc(72px + var(--bf577-safe-bottom)) !important;
    z-index:970 !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) 46px 50px !important;
    align-items:center !important;
    gap:5px !important;
    width:calc(100% - 8px) !important;
    max-width:460px !important;
    min-height:56px !important;
    margin:0 auto !important;
    padding:5px !important;
    overflow:visible !important;
    transform:none !important;
    border:1px solid #cbddea !important;
    border-radius:17px !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 12px 30px rgba(5,45,87,.18) !important;
    backdrop-filter:blur(16px) !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-nav-prev{
    grid-column:1 !important;
    font-size:0 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-nav-prev::before{
    content:"‹" !important;
    font-size:28px !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .bf-v565-reader-counter{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:7px !important;
    font-size:10px !important;
    white-space:nowrap !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-nav-next{
    grid-column:3 !important;
    grid-row:1 !important;
    font-size:0 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-nav-next::before{
    content:"›" !important;
    font-size:28px !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-download-revista{
    grid-column:4 !important;
    grid-row:1 !important;
    font-size:0 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-download-revista::before{
    content:"PDF" !important;
    font-size:9px !important;
    font-weight:950 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-refresh-revista,
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-nav-first,
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar .btn-nav-last,
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar a[href="/campanha/dashboard"]{display:none !important;}
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar button,
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real[data-bf-v565-reader="1"] .toolbar-revista.bf-v577-reader-toolbar a{
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    height:44px !important;
    margin:0 !important;
    padding:4px !important;
    border-radius:12px !important;
    white-space:nowrap !important;
  }
  }

  /* Master e auditorias: preserva todas as colunas com rolagem consciente. */
  body[data-bf-path^="/campanha/master"] .bf-table-wrap,
  body[data-bf-path^="/campanha/master"] .bf-v406-table-wrap{
    overflow-x:auto !important;
    overscroll-behavior-inline:contain !important;
    scrollbar-width:thin !important;
  }
  body[data-bf-path^="/campanha/master"] table{min-width:760px !important;}

  /* Modais e alertas nunca ultrapassam a tela. */
  body.bf-v577-shell .bf-toast-zone{
    left:10px !important;
    right:10px !important;
    top:72px !important;
    width:auto !important;
  }
  body.bf-v577-shell .bf-privacy-dialog{
    width:calc(100vw - 12px) !important;
    max-width:calc(100vw - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
  }
}

/* V577 R2: correcoes pontuais solicitadas, somente no celular. */
@media (max-width:760px){
  /* A revista volta ao leitor mobile anterior, sem o dock novo sobre a navegacao. */
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-dock{
    display:none !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-content{
    padding-bottom:max(24px,env(safe-area-inset-bottom)) !important;
  }

  /* Estado vazio de acessos realmente centralizado e sem rotulo de coluna deslocado. */
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-table-wrap thead{
    display:none !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-table-wrap tbody tr:has(.bf-v517-empty),
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-table-wrap tbody td[colspan="6"]{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-table-wrap tbody td[colspan="6"]::before{
    display:none !important;
    content:none !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:260px !important;
    margin:0 auto !important;
    padding:28px 16px !important;
    text-align:center !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty span,
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty h3,
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty p,
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty small{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty p,
  body[data-bf-path="/campanha/meus-acessos"] .bf-v517-empty small{
    display:block !important;
    max-width:300px !important;
  }

  /* Top 20 compacto: posicao, foto, nome e indicadores ocupam linhas proprias. */
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-top-card{
    grid-template-columns:52px 72px minmax(0,1fr) !important;
    grid-template-areas:"rank image title" "rank image metrics" "action action action" !important;
    align-items:center !important;
    gap:5px 8px !important;
    min-height:0 !important;
    padding:10px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-rank{
    width:50px !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    min-width:50px !important;
    padding:5px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-rank b{font-size:17px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-thumb{
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    padding:5px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-thumb img{
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    max-height:56px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v577-product-title h3{
    margin:2px 0 0 !important;
    font-size:12px !important;
    line-height:1.18 !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v577-top20-metrics{
    gap:4px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-metric{
    min-height:48px !important;
    height:48px !important;
    padding:4px 2px !important;
    gap:1px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-metric svg{
    width:12px !important;
    height:12px !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-metric p{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    margin:0 !important;
    line-height:1 !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-metric b{font-size:12px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-metric small{font-size:5.5px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-card-link{min-height:38px !important;}
}

@media (max-width:390px){
  body.bf-v577-shell .bf-header-score{padding-right:7px !important;}
  body.bf-v577-shell .bf-header-medal{width:32px !important;height:32px !important;min-width:32px !important;}
  body.bf-v577-shell .bf-v577-mobile-brand small{display:none !important;}
  body.bf-v577-shell .bf-v577-mobile-dock a,
  body.bf-v577-shell .bf-v577-mobile-dock button{font-size:7px !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v524-points-composition{grid-template-columns:88px minmax(0,1fr) !important;}
  body[data-bf-path="/campanha/dashboard"] .bf-v524-points-donut{width:84px !important;height:84px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-actions{grid-template-columns:1fr !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-top-card{
    grid-template-columns:48px 64px minmax(0,1fr) !important;
    grid-template-areas:"rank image title" "rank image metrics" "action action action" !important;
  }
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-rank{width:46px !important;height:46px !important;min-width:46px !important;min-height:46px !important;max-height:46px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-thumb{width:62px !important;height:62px !important;min-width:62px !important;}
  body[data-bf-path="/campanha/top20-populares"] .bf-v577-top20 .bf-v576-thumb img{width:50px !important;height:50px !important;}
  body[data-bf-path="/campanha/regras"] .bf-v520-rule-cards{grid-template-columns:1fr !important;}
}

/* V577 R3: dados agrupados a esquerda, respiro central e acoes na borda direita. */
@media (max-width:760px){
  /* Pedidos: titulo/NF, dados logo abaixo e status/acao na coluna direita. */
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item{
    display:grid !important;
    grid-template-columns:max-content max-content minmax(14px,1fr) 122px !important;
    grid-template-areas:"order order . status" "date items . action" "value points . action" !important;
    align-items:start !important;
    gap:7px 9px !important;
    min-height:0 !important;
    padding:12px !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td{
    min-width:0 !important;
    max-width:none !important;
    text-align:left !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pedido"]{grid-area:order !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Data"]{grid-area:date !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Itens"]{grid-area:items !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Faturamento"]{grid-area:value !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pontos"]{grid-area:points !important;}
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Status"]{
    grid-area:status !important;
    align-self:start !important;
    justify-self:end !important;
    align-items:flex-end !important;
    padding:0 !important;
    border:0 !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td:last-child{
    grid-area:action !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    display:flex !important;
    align-items:flex-end !important;
    padding:0 !important;
    border:0 !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Data"],
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Itens"],
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Faturamento"],
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pontos"]{
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:12px !important;
    line-height:1.25 !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Data"]::before,
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Itens"]::before,
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Faturamento"]::before,
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td[data-label="Pontos"]::before{
    display:block !important;
    margin:0 0 2px !important;
    color:#718398 !important;
    font-size:7px !important;
    font-weight:900 !important;
    letter-spacing:.06em !important;
    line-height:1 !important;
  }
  body[data-bf-path="/campanha/pedidos"] tr.bf-filter-item td:last-child::before{display:none !important;}
  body[data-bf-path="/campanha/pedidos"] .bf-order-toggle{
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    padding:7px !important;
  }

  /* Itens do pedido: foto/nome no topo e todos os indicadores abaixo. */
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row{
    display:grid !important;
    grid-template-columns:62px max-content max-content max-content minmax(10px,1fr) max-content !important;
    grid-template-areas:"photo sku description description description description" "photo quantity value . . total" "photo billing volume mix . total" !important;
    align-items:start !important;
    gap:6px 8px !important;
    min-height:0 !important;
    padding:11px !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td{
    grid-column:auto !important;
    grid-row:auto !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(1){grid-area:photo !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(2){grid-area:sku !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(3){grid-area:description !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(4){grid-area:quantity !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(5){grid-area:value !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(6){grid-area:billing !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(7){grid-area:volume !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(8){grid-area:mix !important;}
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(9){
    grid-area:total !important;
    align-self:end !important;
    justify-self:end !important;
    min-width:48px !important;
    padding:7px !important;
    border-radius:10px !important;
    background:#eef6fd !important;
    text-align:center !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(n+4)::before{
    display:block !important;
    margin:0 0 2px !important;
    color:#718398 !important;
    font-size:7px !important;
    font-weight:900 !important;
    line-height:1 !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-detail-row td:nth-child(3) b{
    display:block !important;
    font-size:12px !important;
    line-height:1.22 !important;
  }
  body[data-bf-path^="/campanha/pedido/"] .bf-product-thumb{
    width:56px !important;
    height:56px !important;
  }

  /* Produtos comprados: informacoes abaixo do nome, status e acao a direita. */
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody tr.bf-filter-item{
    display:grid !important;
    grid-template-columns:68px minmax(0,1fr) minmax(0,1fr) minmax(8px,.35fr) 92px !important;
    grid-template-areas:"photo sku sku . action" "photo name name name action" "quantity value value . mix" "points points points . mix" !important;
    align-items:start !important;
    gap:6px 8px !important;
    min-height:0 !important;
    padding:11px !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td{
    grid-column:auto !important;
    grid-row:auto !important;
    display:block !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(1){grid-area:photo !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(2){grid-area:sku !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(3){grid-area:name !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(4){grid-area:quantity !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(5){grid-area:value !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(6){grid-area:points !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(7){
    grid-area:mix !important;
    align-self:end !important;
    justify-self:stretch !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(8){
    grid-area:action !important;
    align-self:start !important;
    justify-self:stretch !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(4){
    grid-column:quantity !important;
    grid-row:quantity !important;
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(5){
    grid-column:value !important;
    grid-row:value !important;
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(6){
    grid-column:points !important;
    grid-row:points !important;
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(7){
    grid-column:mix !important;
    grid-row:mix !important;
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(2)::before{
    content:"SKU" !important;
    display:block !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(3)::before,
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(8)::before{display:none !important;}
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(2)::before,
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(n+4):nth-child(-n+7)::before{
    margin:0 0 2px !important;
    color:#718398 !important;
    font-size:7px !important;
    font-weight:900 !important;
    letter-spacing:.05em !important;
    line-height:1 !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-product-name{
    display:-webkit-box !important;
    overflow:hidden !important;
    font-size:12px !important;
    line-height:1.22 !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap .bf-v406-thumb{
    width:60px !important;
    height:60px !important;
    overflow:hidden !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:first-child>.bf-v406-thumb{
    display:block !important;
    width:60px !important;
    min-width:60px !important;
    max-width:60px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
    object-fit:contain !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap .bf-v406-thumb img{
    color:transparent !important;
    font-size:0 !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap tbody td:nth-child(6) small{
    display:block !important;
    margin-top:2px !important;
    font-size:7px !important;
    white-space:nowrap !important;
  }
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap .bf-v504-status,
  body[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap .bf-v406-button{
    width:100% !important;
    min-height:38px !important;
    margin:0 !important;
    padding:6px !important;
    justify-content:center !important;
    text-align:center !important;
  }

  /* Devolucoes: produto primeiro; dados abaixo; devolucao e pontos a direita. */
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item{
    display:grid !important;
    grid-template-columns:64px minmax(84px,1fr) max-content minmax(10px,.7fr) max-content !important;
    grid-template-areas:"product product product . points" "date sale sale . return" "quantity value value . return" !important;
    align-items:start !important;
    gap:7px 8px !important;
    min-height:0 !important;
    padding:11px !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td{
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(1){grid-area:date !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(2){grid-area:product !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(3){grid-area:sale !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(4){grid-area:return !important;justify-self:end !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(5){grid-area:quantity !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(6){grid-area:value !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(7){grid-area:points !important;justify-self:end !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:nth-child(2)::before{display:none !important;}
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid table.mobile-cards tr.bf-filter-item>td:not(:nth-child(2))::before{
    display:block !important;
    margin:0 0 2px !important;
    color:#718398 !important;
    font-size:7px !important;
    font-weight:900 !important;
    letter-spacing:.05em !important;
    line-height:1 !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid .bf-insight-item{
    display:grid !important;
    grid-template-columns:50px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
    width:100% !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid .bf-insight-item img{
    width:48px !important;
    height:48px !important;
    color:transparent !important;
    font-size:0 !important;
  }
  body[data-bf-path="/campanha/devolucoes"] .bf-v568-returns-grid .bf-insight-item strong{
    display:-webkit-box !important;
    overflow:hidden !important;
    font-size:11px !important;
    line-height:1.2 !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
  }

  /* Revista: pagina inteira centralizada e dois niveis de navegacao sem sobreposicao. */
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-content{
    min-height:calc(100dvh - 58px) !important;
    padding:0 8px calc(188px + env(safe-area-inset-bottom)) !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-dock{
    display:grid !important;
    z-index:990 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .mobile-hint-bar,
  body[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-note,
  body[data-bf-path="/campanha/revista-brasfort"] .dm-v168-pdf-mobile-card,
  body[data-bf-path="/campanha/revista-brasfort"] .v238-download-pdf-bar,
  body[data-bf-path="/campanha/revista-brasfort"] .bf-v304-download-mobile,
  body[data-bf-path="/campanha/revista-brasfort"] .bf-v522-global-footer{display:none !important;}
  body[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    width:100% !important;
    min-height:calc(100dvh - 250px) !important;
    margin:0 auto !important;
    padding:4px 0 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .area-jornal{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:calc(100dvh - 258px) !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] #jornal,
  body[data-bf-path="/campanha/revista-brasfort"] #jornal>.bf-v565-spread,
  body[data-bf-path="/campanha/revista-brasfort"] #jornal>.bf-v565-spread.is-mobile{
    width:100% !important;
    max-width:100% !important;
    margin:auto !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .capa-brasfort-v47-imagem img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 270px) !important;
    object-fit:contain !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar{
    z-index:995 !important;
    overflow:visible !important;
    border:1px solid #cbddea !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 14px 34px rgba(5,45,87,.2) !important;
    backdrop-filter:blur(18px) !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .btn-nav-prev{
    grid-column:1 !important;
    grid-row:1 !important;
    font-size:28px !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .bf-v565-reader-counter{
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:6px !important;
    border:1px solid #d8e5f0 !important;
    border-radius:12px !important;
    color:#075dab !important;
    background:#f5f9fd !important;
    font-size:11px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .btn-nav-next{
    grid-column:3 !important;
    grid-row:1 !important;
    font-size:28px !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .btn-download-revista{
    grid-column:1/-1 !important;
    grid-row:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:42px !important;
    padding:7px 12px !important;
    border-radius:12px !important;
    color:#fff !important;
    background:linear-gradient(135deg,#075dab,#087fcf) !important;
    font-size:11px !important;
    font-weight:900 !important;
  }
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .btn-refresh-revista,
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .btn-nav-first,
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar .btn-nav-last,
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar a[href="/campanha/dashboard"]{display:none !important;}
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar button,
  body[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista.bf-v577-r3-reader-toolbar a{
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    margin:0 !important;
    border-radius:12px !important;
  }
}

/* V577 R4: horario global, historico comprado refeito e revista refinada. */
body.bf-v577-shell[data-bf-path="/campanha/top20-populares"] .bf-v517-top20-toolbar,
body.bf-v577-shell[data-bf-path="/campanha/top20-populares"] .bf-v576-top20-toolbar{
  display:none !important;
}
body.bf-v577-shell .bf-topbar .bf-update{
  display:flex !important;
}
body.bf-v577-shell .bf-topbar .bf-update small{
  white-space:nowrap !important;
}

@media (min-width:761px) and (max-width:1350px){
  body.bf-v577-shell .bf-topbar{
    position:sticky !important;
    height:82px !important;
    min-height:82px !important;
    padding-bottom:30px !important;
  }
  body.bf-v577-shell .bf-topbar .bf-update{
    position:absolute !important;
    left:18px !important;
    bottom:5px !important;
    display:flex !important;
    align-items:center !important;
    width:auto !important;
    min-width:220px !important;
    min-height:22px !important;
    margin:0 !important;
    padding:3px 8px !important;
    border:1px solid #d9e7f2 !important;
    border-radius:9px !important;
    background:#f5f9fd !important;
  }
}

@media (max-width:760px){
  /* O horario de sincronizacao passa a integrar o cabecalho de todas as paginas. */
  body.bf-v577-shell .bf-topbar{
    grid-template-columns:42px minmax(0,1fr) auto !important;
    grid-template-rows:48px 24px !important;
    gap:2px 9px !important;
    height:86px !important;
    min-height:86px !important;
    padding:5px max(10px,env(safe-area-inset-right)) 7px max(10px,env(safe-area-inset-left)) !important;
  }
  body.bf-v577-shell .bf-topbar>.bf-menu-toggle{grid-column:1 !important;grid-row:1 !important;}
  body.bf-v577-shell .bf-topbar>.bf-v577-mobile-brand{grid-column:2 !important;grid-row:1 !important;}
  body.bf-v577-shell .bf-topbar>.bf-header-score{grid-column:3 !important;grid-row:1 !important;}
  body.bf-v577-shell .bf-topbar>.bf-update{
    grid-column:1/-1 !important;
    grid-row:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    width:100% !important;
    min-width:0 !important;
    min-height:22px !important;
    margin:0 !important;
    padding:3px 8px !important;
    border:1px solid #d9e7f2 !important;
    border-radius:9px !important;
    background:#f5f9fd !important;
    color:#536f89 !important;
    line-height:1 !important;
  }
  body.bf-v577-shell .bf-topbar>.bf-update>i{
    width:7px !important;
    height:7px !important;
    min-width:7px !important;
  }
  body.bf-v577-shell .bf-topbar>.bf-update>span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    min-width:0 !important;
    font-size:8px !important;
    font-weight:750 !important;
    white-space:nowrap !important;
  }
  body.bf-v577-shell .bf-topbar>.bf-update small{
    display:inline !important;
    margin:0 !important;
    color:#0a5eac !important;
    font-size:9px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  body.bf-v577-shell .bf-content{
    min-height:calc(100dvh - 86px) !important;
  }

  /* Historico comprado: identidade, acao, tres indicadores e status em blocos claros. */
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item{
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) 102px !important;
    grid-template-areas:"photo sku action" "photo name action" "quantity value points" "mix mix mix" !important;
    align-items:start !important;
    gap:7px 9px !important;
    min-height:0 !important;
    padding:12px !important;
    border:1px solid #d8e5ef !important;
    border-radius:17px !important;
    background:#fff !important;
    box-shadow:0 8px 22px rgba(8,52,101,.06) !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td{
    grid-column:auto !important;
    grid-row:auto !important;
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(1){grid-area:photo !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(2){grid-area:sku !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(3){grid-area:name !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(4){grid-area:quantity !important;grid-column:quantity !important;grid-row:quantity !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(5){grid-area:value !important;grid-column:value !important;grid-row:value !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(6){grid-area:points !important;grid-column:points !important;grid-row:points !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(7){grid-area:mix !important;grid-column:mix !important;grid-row:mix !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(8){grid-area:action !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:first-child>.bf-v406-thumb{
    display:block !important;
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:78px !important;
    min-height:78px !important;
    max-height:78px !important;
    padding:6px !important;
    border:1px solid #dce7f0 !important;
    border-radius:14px !important;
    object-fit:contain !important;
    color:transparent !important;
    font-size:0 !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(2)::before{
    margin-bottom:3px !important;
    font-size:7px !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-product-name{
    display:-webkit-box !important;
    overflow:hidden !important;
    font-size:12px !important;
    line-height:1.22 !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(n+4):nth-child(-n+6){
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-height:54px !important;
    padding:7px !important;
    border:1px solid #e1ebf3 !important;
    border-radius:11px !important;
    background:#f7fafd !important;
    font-size:12px !important;
    line-height:1.15 !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(n+4):nth-child(-n+6)::before{
    display:block !important;
    margin:0 0 4px !important;
    color:#718398 !important;
    font-size:7px !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    line-height:1 !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(4)::before{content:"Quantidade" !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(5)::before{content:"Valor" !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(6)::before{content:"Pontos" !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(6) small{
    display:block !important;
    margin-top:3px !important;
    color:#75889a !important;
    font-size:6px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(7){
    display:block !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(7)::before,
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap table tbody tr.bf-filter-item>td:nth-child(8)::before{display:none !important;}
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap .bf-v504-status{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:36px !important;
    margin:0 !important;
    padding:7px !important;
    border-radius:11px !important;
    font-size:9px !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/produtos-comprados"] .bf-v504-table-wrap .bf-v406-button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:78px !important;
    margin:0 !important;
    padding:7px !important;
    border-radius:13px !important;
    text-align:center !important;
  }

  /* Revista com respiro superior e uma unica barra funcional acima do dock. */
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-content{
    min-height:calc(100dvh - 86px) !important;
    padding-top:14px !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .revista-jornal-real{
    margin:10px auto 0 !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista .btn-nav-first,
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .toolbar-revista .btn-nav-last{
    display:none !important;
    visibility:hidden !important;
    max-width:0 !important;
    max-height:0 !important;
    pointer-events:none !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-dock{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:0 !important;
    height:68px !important;
    padding:4px !important;
    border-radius:19px !important;
  }
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-dock a,
  body.bf-v577-shell[data-bf-path="/campanha/revista-brasfort"] .bf-v577-mobile-dock button{
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:4px 1px !important;
    border-radius:14px !important;
  }
}

/* Acesso publico: um formulario direto, sem rolagem e texto duplicado no celular. */
@media (max-width:760px){
  html:has(body.bf-v577-auth-shell),
  body.bf-v577-auth-shell{
    width:100% !important;
    min-height:100% !important;
    overflow-x:hidden !important;
    background:linear-gradient(160deg,#edf5fb,#f8fbfe) !important;
  }
  body.bf-v577-auth-shell .bf-auth-page{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    min-height:100dvh !important;
    margin:0 !important;
    padding:max(12px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom)) !important;
  }
  body.bf-v577-auth-shell .bf-auth-brand{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:60px !important;
    padding:6px !important;
    background:transparent !important;
  }
  body.bf-v577-auth-shell .bf-auth-brand img{
    display:block !important;
    width:158px !important;
    max-height:54px !important;
    object-fit:contain !important;
  }
  body.bf-v577-auth-shell .bf-auth-brand small,
  body.bf-v577-auth-shell .bf-auth-brand strong,
  body.bf-v577-auth-shell .bf-auth-brand b,
  body.bf-v577-auth-shell .bf-auth-brand p{display:none !important;}
  body.bf-v577-auth-shell .bf-auth-card{
    width:100% !important;
    max-width:480px !important;
    margin:0 auto !important;
    padding:18px !important;
    border:1px solid #d8e5f0 !important;
    border-radius:21px !important;
    background:#fff !important;
    box-shadow:0 16px 38px rgba(5,48,94,.12) !important;
  }
  body.bf-v577-auth-shell .bf-login-heading{margin-bottom:13px !important;}
  body.bf-v577-auth-shell .bf-login-heading h1{
    margin:4px 0 6px !important;
    font-size:27px !important;
    line-height:1.08 !important;
  }
  body.bf-v577-auth-shell .bf-login-heading p{
    margin:0 !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }
  body.bf-v577-auth-shell .bf-auth-notice{
    margin:0 0 12px !important;
    padding:10px !important;
    border-radius:13px !important;
  }
  body.bf-v577-auth-shell .bf-auth-form{gap:7px !important;}
  body.bf-v577-auth-shell .bf-auth-form label{font-size:11px !important;}
  body.bf-v577-auth-shell .bf-field-wrap,
  body.bf-v577-auth-shell .bf-field-wrap input{
    min-height:48px !important;
    font-size:16px !important;
  }
  body.bf-v577-auth-shell .bf-primary-action{
    min-height:48px !important;
    margin-top:5px !important;
    border-radius:13px !important;
  }
  body.bf-v577-auth-shell .bf-auth-links{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin-top:10px !important;
  }
  body.bf-v577-auth-shell .bf-auth-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:7px !important;
    border:1px solid #d9e5ef !important;
    border-radius:12px !important;
    background:#f8fbfe !important;
    text-align:center !important;
  }
  body.bf-v577-auth-shell .bf-auth-links a:only-child{grid-column:1/-1 !important;}

  /* Compatibilidade com as telas publicas geradas pelo app.py atual. */
  body.bf-v577-auth-legacy{
    margin:0 !important;
    min-height:100% !important;
    overflow:auto !important;
    color:var(--bf577-ink) !important;
    font-family:Arial,Helvetica,sans-serif !important;
  }
  body.bf-v577-auth-legacy *,
  body.bf-v577-auth-legacy *::before,
  body.bf-v577-auth-legacy *::after{box-sizing:border-box !important;}
  body.bf-v577-auth-legacy .auth-page{
    display:block !important;
    width:100% !important;
    min-height:100dvh !important;
    height:auto !important;
    padding:0 !important;
    overflow:visible !important;
    background:linear-gradient(160deg,#edf5fb,#f8fbfe) !important;
  }
  body.bf-v577-auth-legacy .info-side{display:none !important;}
  body.bf-v577-auth-legacy .form-side{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:100dvh !important;
    height:auto !important;
    padding:max(12px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom)) !important;
    background:transparent !important;
  }
  body.bf-v577-auth-legacy .mobile-logo-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:62px !important;
    margin:0 0 9px !important;
  }
  body.bf-v577-auth-legacy .mobile-logo-wrap .logo-official{
    display:block !important;
    width:158px !important;
    max-width:58% !important;
    max-height:56px !important;
    margin:0 auto !important;
    padding:5px 9px !important;
    object-fit:contain !important;
    border-radius:12px !important;
    box-shadow:0 8px 20px rgba(5,48,94,.1) !important;
  }
  body.bf-v577-auth-legacy .card{
    width:100% !important;
    max-width:480px !important;
    max-height:none !important;
    margin:0 auto !important;
    overflow:hidden !important;
    border:1px solid #d8e5f0 !important;
    border-radius:21px !important;
    background:#fff !important;
    box-shadow:0 16px 38px rgba(5,48,94,.12) !important;
  }
  body.bf-v577-auth-legacy .card-head{
    padding:14px 15px 12px !important;
    background:linear-gradient(135deg,#073b7d,#086bbb) !important;
  }
  body.bf-v577-auth-legacy .card-title{
    margin:0 !important;
    color:#fff !important;
    font-size:24px !important;
    font-weight:900 !important;
    line-height:1.08 !important;
  }
  body.bf-v577-auth-legacy .card-subtitle{
    margin:4px 0 0 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
  }
  body.bf-v577-auth-legacy .card-body{padding:13px !important;}
  body.bf-v577-auth-legacy .notice{
    margin:0 0 11px !important;
    padding:9px 10px !important;
    border-radius:12px !important;
  }
  body.bf-v577-auth-legacy .notice-title{
    margin:0 !important;
    color:var(--bf577-navy) !important;
    font-size:12px !important;
    font-weight:900 !important;
  }
  body.bf-v577-auth-legacy .notice-text{font-size:11px !important;line-height:1.4 !important;}
  body.bf-v577-auth-legacy .form-group{margin-bottom:8px !important;}
  body.bf-v577-auth-legacy .form-group label{
    display:block !important;
    margin-bottom:4px !important;
    color:var(--bf577-navy) !important;
    font-size:11px !important;
    font-weight:900 !important;
  }
  body.bf-v577-auth-legacy .input-wrap{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:48px !important;
    height:48px !important;
    overflow:hidden !important;
    border:1px solid #cdddea !important;
    border-width:1px !important;
    border-radius:12px !important;
    background:#fff !important;
  }
  body.bf-v577-auth-legacy .input-wrap input{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    padding:0 12px !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:var(--bf577-ink) !important;
    font-size:16px !important;
  }
  body.bf-v577-auth-legacy .toggle-btn{
    min-width:82px !important;
    height:38px !important;
    font-size:11px !important;
  }
  body.bf-v577-auth-legacy .primary-btn,
  body.bf-v577-auth-legacy .secondary-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    height:46px !important;
    border-radius:12px !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-align:center !important;
    text-decoration:none !important;
  }
  body.bf-v577-auth-legacy .primary-btn{
    width:100% !important;
    border:0 !important;
    background:linear-gradient(90deg,#075fc5,#0647a0) !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(7,95,197,.18) !important;
  }
  body.bf-v577-auth-legacy .secondary-btn{
    border:1px solid #d3deec !important;
    background:#f8fbfe !important;
    color:var(--bf577-blue) !important;
  }
  body.bf-v577-auth-legacy .secondary-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin-top:8px !important;
  }
  body.bf-v577-auth-legacy .secondary-row[style*="grid-template-columns:1fr"]{grid-template-columns:1fr !important;}
  body.bf-v577-auth-legacy .foot{
    margin-top:8px !important;
    color:var(--bf577-muted) !important;
    font-size:10px !important;
    text-align:center !important;
  }
  body.bf-v577-auth-legacy .error-box,
  body.bf-v577-auth-legacy .success-box{
    margin-bottom:9px !important;
    padding:10px !important;
    font-size:11px !important;
    line-height:1.4 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.bf-v577-shell *,
  body.bf-v577-shell *::before,
  body.bf-v577-shell *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
