/* Martins Select — camada visual final preto + azul
   Mantém o template e neutraliza regras antigas conflitantes. */
:root {
  color-scheme: dark;
  --ms-theme-bg: #000000;
  --ms-theme-panel: #05070b;
  --ms-theme-panel-2: #080c13;
  --ms-theme-blue: #008cff;
  --ms-theme-blue-hover: #2aa5ff;
  --ms-theme-text: #ffffff;
  --ms-theme-muted: rgba(255,255,255,.70);
  --ms-theme-line: rgba(0,140,255,.28);
  --ms-theme-line-soft: rgba(255,255,255,.10);
  --ms-theme-radius: 18px;
}

html { background: var(--ms-theme-bg) !important; }
body:not([data-doc-type]) {
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--ms-theme-text) !important;
  background: var(--ms-theme-bg) !important;
  background-image: none !important;
}
body:not([data-doc-type])::before,
body:not([data-doc-type])::after { background-image: none !important; }

body:not([data-doc-type]) main,
body:not([data-doc-type]) section,
body:not([data-doc-type]) article,
body:not([data-doc-type]) footer { color: var(--ms-theme-text); }

/* Superfícies sempre escuras */
body:not([data-doc-type]) :is(.card,.panel,.box,.modal-content,.form-card,.login-card,.register-card,.admin-card,.table-card,.ticket-card,.ms-card,.ms-plan-card,.ms-service-card,.ms-service-premium-card,.ms-profile-card,.ms-search-box,.ms-seo-card,.ms-seo-summary) {
  color: var(--ms-theme-text) !important;
  background-color: var(--ms-theme-panel) !important;
  background-image: none !important;
  border-color: var(--ms-theme-line-soft) !important;
  box-shadow: none !important;
}
body:not([data-doc-type]) :is(.card,.panel,.box,.ms-card,.ms-plan-card,.ms-service-card,.ms-service-premium-card,.ms-profile-card):hover {
  border-color: var(--ms-theme-line) !important;
}

/* Cabeçalho e menu iguais em todo o site */
body:not([data-doc-type]) :is(.ms-final-header,.header,.site-header,.admin-header,.ms-admin-topbar,.admin-topbar) {
  color: #fff !important;
  background: rgba(0,0,0,.94) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--ms-theme-line-soft) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body:not([data-doc-type]) :is(.ms-final-nav,.nav,.menu,.admin-menu,.sidebar,.ms-admin-nav) {
  color: #fff !important;
  background-color: #000 !important;
  background-image: none !important;
}
body:not([data-doc-type]) nav a { color: rgba(255,255,255,.82) !important; }
body:not([data-doc-type]) nav a:hover,
body:not([data-doc-type]) nav a.active,
body:not([data-doc-type]) nav a[aria-current="page"] { color: #fff !important; background: rgba(0,140,255,.14) !important; }

/* Azul somente como destaque, mantendo a base preta */
body:not([data-doc-type]) :is(.ms-kicker,.ms-eyebrow,.ms-section-kicker,.ms-seo-kicker,.breadcrumb a,.ms-breadcrumb a) { color: var(--ms-theme-blue) !important; }
body:not([data-doc-type]) a:not(.ms-btn):not(.btn):hover { color: var(--ms-theme-blue-hover); }

body:not([data-doc-type]) :is(.ms-btn,.btn,.button,button[type="submit"],input[type="submit"],a[class*="btn"],a[class*="button"]) {
  color: #fff !important;
  background: var(--ms-theme-blue) !important;
  background-image: none !important;
  border: 1px solid var(--ms-theme-blue) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body:not([data-doc-type]) :is(.ms-btn,.btn,.button,button[type="submit"],input[type="submit"],a[class*="btn"],a[class*="button"]):hover {
  color: #fff !important;
  background: var(--ms-theme-blue-hover) !important;
  border-color: var(--ms-theme-blue-hover) !important;
  transform: translateY(-1px);
}
body:not([data-doc-type]) :is(.ghost,.secondary,.outline,.btn-secondary,.ms-btn.ghost) {
  color: #fff !important;
  background: #050505 !important;
  border-color: var(--ms-theme-line) !important;
}

/* Formulários pretos e legíveis */
body:not([data-doc-type]) :is(input,select,textarea) {
  color: #fff !important;
  background: #030507 !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: none !important;
}
body:not([data-doc-type]) :is(input,select,textarea):focus {
  outline: none !important;
  border-color: var(--ms-theme-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,140,255,.14) !important;
}
body:not([data-doc-type]) select option { color: #fff; background: #050505; }
body:not([data-doc-type]) ::placeholder { color: rgba(255,255,255,.46) !important; }

/* Tabelas e rodapé */
body:not([data-doc-type]) table { color: #fff !important; background: #030303 !important; }
body:not([data-doc-type]) :is(th,td) { border-color: rgba(255,255,255,.10) !important; }
body:not([data-doc-type]) th { background: #080b10 !important; }
body:not([data-doc-type]) tr:nth-child(even) td { background: rgba(255,255,255,.018); }
body:not([data-doc-type]) :is(.ms-footer,.site-footer,footer) { background-color: #000 !important; background-image: none !important; border-color: rgba(255,255,255,.10) !important; }

@media (max-width: 900px) {
  body:not([data-doc-type]) :is(.ms-final-nav.open,.ms-final-nav.is-open,.nav.open,.menu.open) {
    background: rgba(0,0,0,.98) !important;
    border: 1px solid var(--ms-theme-line) !important;
  }
}

@media print {
  html, body, body[data-doc-type] { color: #000 !important; background: #fff !important; }
}

/* CORREÇÃO FINAL — preto puro em todo o layout.
   Azul fica restrito a detalhes, textos e bordas. */
html,
body:not([data-doc-type]),
body:not([data-doc-type]) main,
body:not([data-doc-type]) section,
body:not([data-doc-type]) article,
body:not([data-doc-type]) aside,
body:not([data-doc-type]) header,
body:not([data-doc-type]) footer,
body:not([data-doc-type]) nav {
  background-color: #000 !important;
  background-image: none !important;
}

body:not([data-doc-type]) :is(
  [class*="hero"],
  [class*="section"],
  [class*="wrapper"],
  [class*="content"],
  [class*="panel"],
  [class*="card"],
  [class*="box"],
  [class*="form"],
  [class*="summary"],
  [class*="modal"],
  [class*="plan"],
  [class*="route"],
  [class*="search"],
  [class*="profile"],
  [class*="login"],
  [class*="cadastro"],
  [class*="register"],
  [class*="admin"]
) {
  background-color: #000 !important;
  background-image: none !important;
}

body:not([data-doc-type]) :is(
  [class*="hero"],
  [class*="section"],
  [class*="panel"],
  [class*="card"],
  [class*="box"],
  [class*="form"],
  [class*="summary"],
  [class*="modal"],
  [class*="plan"],
  [class*="route"]
)::before,
body:not([data-doc-type]) :is(
  [class*="hero"],
  [class*="section"],
  [class*="panel"],
  [class*="card"],
  [class*="box"],
  [class*="form"],
  [class*="summary"],
  [class*="modal"],
  [class*="plan"],
  [class*="route"]
)::after {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Login e cadastro: acabamento compacto e botões brancos como destaque. */
body.ms-login-page .login-wrap,
body.ms-cadastro-page .cadastro-wrap {
  min-height: calc(100svh - 190px) !important;
  padding: clamp(32px,5vw,58px) 0 !important;
}

body.ms-login-page .login-card,
body.ms-cadastro-page .cadastro-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: center !important;
  background: #000 !important;
  border: 1px solid #1d1d1d !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}

body.ms-login-page .login-card {
  width: min(100%,460px) !important;
  padding: clamp(24px,4vw,34px) !important;
}

body.ms-login-page .login-card form {
  width: 100% !important;
}

body.ms-login-page .login-title {
  margin-bottom: 26px !important;
  text-align: left !important;
}

body.ms-login-page .login-title h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.9rem,5vw,2.4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}

body.ms-login-page .login-title p {
  margin-top: 10px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.ms-login-page .login-field {
  margin-bottom: 16px !important;
}

body.ms-login-page .login-field label {
  margin-bottom: 8px !important;
  color: #fff !important;
  font-size: 12px !important;
}

body.ms-login-page .login-field input,
body.ms-login-page .password-line input {
  width: 100% !important;
  height: 52px !important;
  padding: 0 16px !important;
  color: #fff !important;
  background: #070707 !important;
  background-color: #070707 !important;
  background-image: none !important;
  border: 1px solid #222 !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}

body.ms-login-page .login-field input:focus,
body.ms-login-page .password-line input:focus {
  background: #070707 !important;
  border-color: #555 !important;
  box-shadow: none !important;
}

body.ms-login-page .login-actions,
body.ms-cadastro-page .actions {
  display: grid !important;
  width: 100% !important;
  margin-top: 20px !important;
}

body.ms-login-page .login-btn,
body.ms-login-page .login-btn:hover,
body.ms-login-page .login-btn:focus-visible,
body.ms-cadastro-page .actions .btn.primary,
body.ms-cadastro-page .actions .btn.primary:hover,
body.ms-cadastro-page .actions .btn.primary:focus-visible {
  width: 100% !important;
  min-height: 52px !important;
  color: #050505 !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid #fff !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  transform: none !important;
}

body.ms-login-page .login-btn:hover,
body.ms-cadastro-page .actions .btn.primary:hover {
  background: #e9e9e9 !important;
  border-color: #e9e9e9 !important;
}

body.ms-login-page .login-forgot {
  margin-top: 18px !important;
  text-align: center !important;
}

body.ms-login-page .login-forgot a {
  color: rgba(255,255,255,.74) !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

body.ms-login-page .login-forgot a:hover {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

body.ms-cadastro-page .cadastro-card-heading {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.ms-cadastro-page .ms-privacy-consent .ms-field-status {
  display: none !important;
}

/* Rodapé estável e telas fluidas. */
body.ms-login-page,
body.ms-cadastro-page {
  display: flex !important;
  min-height: 100svh !important;
  flex-direction: column !important;
}

body.ms-login-page > main,
body.ms-cadastro-page > main {
  flex: 1 0 auto !important;
}

body.ms-login-page > footer,
body.ms-cadastro-page > footer {
  flex: 0 0 auto !important;
}

@media (max-width: 760px) {
  body.ms-login-page .login-wrap,
  body.ms-cadastro-page .cadastro-wrap {
    width: calc(100% - 20px) !important;
    min-height: auto !important;
    padding: 24px 0 34px !important;
  }
  body.ms-login-page .login-card,
  body.ms-cadastro-page .cadastro-card {
    width: 100% !important;
    padding: 20px 16px !important;
    border-radius: 18px !important;
  }
  body.ms-login-page .login-title,
  body.ms-cadastro-page .cadastro-card-heading {
    margin-bottom: 22px !important;
  }
}

body.ms-servicos-page #planos .ms-plan-card,
body.ms-servicos-page #planos .ms-plan-card.featured,
body.ms-servicos-page #planos .ms-plan-card.featured:hover,
body.ms-motoristas-page .ms-result-card,
body.ms-motoristas-page .ms-result-card:hover,
body.ms-regioes-page .ms-regiao-card,
body.ms-regioes-page .ms-regiao-card:hover {
  border-color: #181818 !important;
  box-shadow: none !important;
}

body.ms-servicos-page #planos .ms-plan-card.featured .ms-plan-badge {
  border-color: #181818 !important;
}

/* Elementos internos continuam pretos, sem cinza ou azul preenchendo áreas */
body:not([data-doc-type]) :is(
  .ms-home-route-shell,
  .ms-home-route-copy,
  .ms-home-route-form,
  .ms-service-image-modal-dialog,
  .ms-seo-summary,
  .ms-seo-card,
  .ms-plan-card,
  .ms-service-premium-card,
  .ms-service-premium-content,
  .ms-about-card,
  .ms-city-card,
  .ms-final-card,
  .ms-profile-card,
  .login-card,
  .register-card,
  .admin-card,
  fieldset
) {
  background: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) :is(input,select,textarea) {
  background: #000 !important;
  background-image: none !important;
}

/* Não transforma botões em blocos pretos: mantém o azul de ação */
body:not([data-doc-type]) :is(
  .ms-btn,
  .btn,
  .button,
  button[type="submit"],
  input[type="submit"],
  a[class*="btn"],
  a[class*="button"]
) {
  background-color: var(--ms-theme-blue) !important;
}

body:not([data-doc-type]) :is(.ghost,.secondary,.outline,.btn-secondary,.ms-btn.ghost) {
  background-color: #000 !important;
}

/* Seletores específicos das páginas principais (superam CSS interno antigo). */
body.ms-home-premium,
body.ms-home-premium main,
body.ms-home-premium .ms-hero-black,
body.ms-home-premium section.ms-section-black,
body.ms-home-premium section.ms-soft-black,
body.ms-home-premium #resultados,
body.ms-home-premium #servicos,
body.ms-home-premium #frota,
body.ms-home-premium #regioes,
body.ms-home-premium #contato,
body.ms-home-premium .ms-quote-section,
body.ms-home-premium .ms-quote-shell,
body.ms-home-premium .ms-experience-panel,
body.ms-home-premium .ms-stat-card,
body.ms-home-premium .ms-service-card-black {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.ms-home-premium section::before,
body.ms-home-premium section::after,
body.ms-home-premium .ms-quote-shell::before,
body.ms-home-premium .ms-quote-shell::after,
body.ms-home-premium .ms-experience-panel::before,
body.ms-home-premium .ms-experience-panel::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Serviços: seção e todos os planos totalmente pretos. */
body.ms-servicos-page,
body.ms-servicos-page main,
body.ms-servicos-page .ms-hero,
body.ms-servicos-page section.ms-section,
body.ms-servicos-page #planos,
body.ms-servicos-page #planos .ms-plans-wrap,
body.ms-servicos-page #planos .ms-plans-grid,
body.ms-servicos-page #planos .ms-plan-card,
body.ms-servicos-page #planos .ms-plan-card.featured,
body.ms-servicos-page #planos .ms-plan-price,
body.ms-servicos-page #planos .ms-plan-description,
body.ms-servicos-page #planos .ms-note,
body.ms-servicos-page .ms-premium-panel,
body.ms-servicos-page .ms-card {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.ms-servicos-page #planos::before,
body.ms-servicos-page #planos::after,
body.ms-servicos-page #planos .ms-plans-wrap::before,
body.ms-servicos-page #planos .ms-plans-wrap::after,
body.ms-servicos-page #planos .ms-plan-card::before,
body.ms-servicos-page #planos .ms-plan-card::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Painel: elimina cinza, texturas e degradês sem remover bordas. */
body.ms-admin-dashboard-page,
body.ms-admin-dashboard-page::before,
body.ms-admin-dashboard-page .ms-admin-dashboard,
body.ms-admin-dashboard-page .ms-admin-hero,
body.ms-admin-dashboard-page .ms-admin-hero-main,
body.ms-admin-dashboard-page .ms-admin-hero-side,
body.ms-admin-dashboard-page .ms-admin-stat,
body.ms-admin-dashboard-page .ms-admin-systems,
body.ms-admin-dashboard-page .ms-admin-card,
body.ms-admin-dashboard-page .ms-admin-flash {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.ms-admin-dashboard-page .ms-admin-hero-main::before,
body.ms-admin-dashboard-page .ms-admin-hero-main::after,
body.ms-admin-dashboard-page .ms-admin-card::before,
body.ms-admin-dashboard-page .ms-admin-card::after {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Azul continua apenas em controles e pequenos destaques. */
body.ms-servicos-page #planos .ms-plan-highlight,
body.ms-servicos-page #planos .ms-plan-badge,
body.ms-admin-dashboard-page .ms-admin-eyebrow,
body.ms-admin-dashboard-page .ms-admin-card-tag {
  background-color: rgba(0,140,255,.12) !important;
  background-image: none !important;
}

/* Loading page da Home: fundo integralmente preto, sem luz ou textura. */
html.ms-loading,
html.ms-loading body,
body.ms-home-premium .ms-page-loader,
.ms-page-loader {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
}

body.ms-home-premium .ms-page-loader::before,
body.ms-home-premium .ms-page-loader::after,
.ms-page-loader::before,
.ms-page-loader::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.ms-home-premium .ms-loader-shell,
body.ms-home-premium .ms-loader-mark,
body.ms-home-premium .ms-loader-logo-box,
.ms-page-loader .ms-loader-shell,
.ms-page-loader .ms-loader-mark,
.ms-page-loader .ms-loader-logo-box {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Cards permanecem pretos no hover; muda somente a pequena borda/detalhe. */
body:not([data-doc-type]) :is(
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-card,
  .ms-stat-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-plan-card,
  .ms-profile-card,
  .ms-admin-card
),
body:not([data-doc-type]) :is(
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-card,
  .ms-stat-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-plan-card,
  .ms-profile-card,
  .ms-admin-card
):hover,
body:not([data-doc-type]) :is(
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-card,
  .ms-stat-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-plan-card,
  .ms-profile-card,
  .ms-admin-card
):focus-visible {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) :is(
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-card,
  .ms-stat-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-plan-card,
  .ms-profile-card,
  .ms-admin-card
):hover {
  border-color: rgba(0,140,255,.38) !important;
}

/* Remove somente contornos externos e divisórias de seção. */
body:not([data-doc-type]) :is(
  .ms-hero,
  .ms-hero-black,
  .ms-section,
  .ms-section-black,
  .ms-soft-black,
  .ms-quote-section,
  .ms-quote-shell,
  .ms-plans-wrap,
  .ms-experience-panel,
  .ms-city-hero,
  .ms-seo-hero,
  .ms-seo-section
) {
  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) :is(
  .ms-hero,
  .ms-hero-black,
  .ms-section,
  .ms-section-black,
  .ms-soft-black,
  .ms-quote-section,
  .ms-quote-shell,
  .ms-plans-wrap,
  .ms-experience-panel,
  .ms-city-hero,
  .ms-seo-hero,
  .ms-seo-section
)::before,
body:not([data-doc-type]) :is(
  .ms-hero,
  .ms-hero-black,
  .ms-section,
  .ms-section-black,
  .ms-soft-black,
  .ms-quote-section,
  .ms-quote-shell,
  .ms-plans-wrap,
  .ms-experience-panel,
  .ms-city-hero,
  .ms-seo-hero,
  .ms-seo-section
)::after {
  border: 0 !important;
  box-shadow: none !important;
}

/* Regiões: nenhum preenchimento aparece ao passar o mouse. */
body.ms-regioes-page .ms-regiao-card,
body.ms-regioes-page .ms-regiao-card:hover,
body.ms-regioes-page .ms-regiao-card:focus-visible,
body.ref-page .ms-regiao-card,
body.ref-page .ms-regiao-card:hover,
body.ref-page .ms-regiao-card:focus-visible {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Ajustes finais para desktop, tablet e celular. */
@media (max-width: 1080px) {
  body:not([data-doc-type]) :is(.ms-regioes-grid,.ms-plans-grid,.ms-grid-4,.ms-admin-systems) {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

/* Botões e links de ação: padrão preto, sem bordas azuis. */
body:not([data-doc-type]) :is(
  .ms-btn,
  .btn,
  .button,
  .ms-key-link,
  .ms-seo-btn,
  .ms-whats,
  .login-btn,
  .ms-admin-btn,
  .ms-plan-whatsapp,
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[class*="btn"],
  a[class*="button"]
),
body:not([data-doc-type]) :is(
  .ms-btn,
  .btn,
  .button,
  .ms-key-link,
  .ms-seo-btn,
  .ms-whats,
  .login-btn,
  .ms-admin-btn,
  .ms-plan-whatsapp,
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[class*="btn"],
  a[class*="button"]
):hover,
body:not([data-doc-type]) :is(
  .ms-btn,
  .btn,
  .button,
  .ms-key-link,
  .ms-seo-btn,
  .ms-whats,
  .login-btn,
  .ms-admin-btn,
  .ms-plan-whatsapp,
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[class*="btn"],
  a[class*="button"]
):focus-visible {
  color: #fff !important;
  background: #050505 !important;
  background-color: #050505 !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body:not([data-doc-type]) :is(
  .ms-btn,
  .btn,
  .button,
  .ms-key-link,
  .ms-seo-btn,
  .ms-whats,
  .login-btn,
  .ms-admin-btn,
  .ms-plan-whatsapp,
  button,
  input[type="submit"],
  a[class*="btn"],
  a[class*="button"]
):hover {
  border-color: rgba(255,255,255,.38) !important;
  transform: translateY(-1px);
}

body:not([data-doc-type]) :is(.ms-card-link,.ms-service-link,.login-forgot a,.login-call a,.ms-footer a) {
  color: #fff !important;
  border-color: transparent !important;
}

/* Login limpo: cabeçalho + formulário + rodapé. */
body.ms-login-page .login-panel {
  display: none !important;
}

body.ms-login-page .login-wrap {
  width: min(480px,calc(100% - 28px)) !important;
  min-height: calc(100svh - 190px) !important;
  margin: 0 auto !important;
  padding: 42px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.ms-login-page .login-card {
  width: 100% !important;
  padding: clamp(22px,4vw,32px) !important;
  background: #000 !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: none !important;
}

/* Cadastro limpo: cabeçalho + formulário + rodapé. */
body.ms-cadastro-page .cadastro-hero,
body.ms-cadastro-page .share-card,
body.ms-cadastro-page .share-feedback,
body.ms-cadastro-page .release-alert {
  display: none !important;
}

body.ms-cadastro-page .cadastro-wrap {
  width: min(520px,calc(100% - 28px)) !important;
  min-height: calc(100svh - 190px) !important;
  margin: 0 auto !important;
  padding: 42px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.ms-cadastro-page .cadastro-card {
  width: 100% !important;
  padding: clamp(22px,4vw,32px) !important;
  background: #000 !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: none !important;
}

body.ms-cadastro-page .cadastro-card::before,
body.ms-login-page .login-card::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 620px) {
  body.ms-login-page .login-wrap,
  body.ms-cadastro-page .cadastro-wrap {
    width: calc(100% - 20px) !important;
    min-height: auto !important;
    padding: 22px 0 30px !important;
  }
  body.ms-login-page .login-card,
  body.ms-cadastro-page .cadastro-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }
}

/* PADRÃO SÓLIDO FINAL — sem bordas azuis ou degradês. */
:root {
  --ms-border: #151515 !important;
  --ms-border-strong: #202020 !important;
  --ms-line: #151515 !important;
  --ms-line-blue: #151515 !important;
  --ms-blue-line: #151515 !important;
  --ms-final-line: #151515 !important;
  --ms-theme-line: #151515 !important;
  --ms-theme-line-soft: #151515 !important;
  --ms-admin-line: #151515 !important;
  --ms-admin-line-blue: #151515 !important;
}

body:not([data-doc-type]) :is(
  .ms-card,
  .card,
  .panel,
  .box,
  .ms-result-card,
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-service-premium-card,
  .ms-plan-card,
  .ms-plan-card.featured,
  .ms-profile-card,
  .ms-admin-card,
  .ms-admin-stat,
  .ms-selected,
  .ms-search-box,
  .login-card,
  .cadastro-card,
  .ms-privacy-consent,
  .note,
  .ms-data-safe,
  fieldset,
  table,
  th,
  td
),
body:not([data-doc-type]) :is(
  .ms-card,
  .card,
  .panel,
  .box,
  .ms-result-card,
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-service-premium-card,
  .ms-plan-card,
  .ms-plan-card.featured,
  .ms-profile-card,
  .ms-admin-card,
  .ms-admin-stat,
  .ms-selected,
  .ms-search-box,
  .login-card,
  .cadastro-card
):hover,
body:not([data-doc-type]) :is(
  .ms-card,
  .card,
  .panel,
  .box,
  .ms-result-card,
  .ms-regiao-card,
  .ms-city-card,
  .ms-servico-local-card,
  .ms-service-card,
  .ms-service-card-black,
  .ms-service-premium-card,
  .ms-plan-card,
  .ms-plan-card.featured,
  .ms-profile-card,
  .ms-admin-card,
  .ms-admin-stat,
  .ms-selected,
  .ms-search-box,
  .login-card,
  .cadastro-card
):focus-within {
  border-color: #181818 !important;
  outline-color: #242424 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) :is(
  input,
  select,
  textarea,
  .ms-btn,
  .btn,
  .button,
  button,
  a[class*="btn"],
  a[class*="button"],
  .ms-key-link,
  .ms-seo-btn,
  .ms-plan-highlight,
  .ms-selected-keywords span,
  .ms-regioes-tabs a,
  .ms-related-regions a
) {
  border-color: #1b1b1b !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) :is(input,select,textarea):focus {
  border-color: #363636 !important;
  outline-color: #363636 !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) :is(
  .ms-btn,
  .btn,
  .button,
  button,
  a[class*="btn"],
  a[class*="button"],
  .ms-key-link,
  .ms-seo-btn
):hover {
  border-color: #303030 !important;
  background-color: #080808 !important;
  background-image: none !important;
}

/* Um único padrão para todos os pequenos títulos ms-kicker. */
body:not([data-doc-type]) .ms-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 30px !important;
  margin: 0 0 16px !important;
  padding: 0 12px !important;
  gap: 8px !important;
  color: #008cff !important;
  background: #050505 !important;
  background-color: #050505 !important;
  background-image: none !important;
  border: 1px solid #181818 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body:not([data-doc-type]) .ms-kicker::before {
  content: "" !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 6px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #008cff !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) .ms-kicker::after {
  content: none !important;
  display: none !important;
}

/* Remove efeitos translúcidos restantes de componentes visuais. */
body:not([data-doc-type]) :is(
  .ms-premium-panel,
  .ms-plans-wrap,
  .ms-experience-panel,
  .ms-quote-shell,
  .ms-selected-copy,
  .ms-selected-media,
  .ms-social-box,
  .ms-seo,
  .ms-seo-card,
  .ms-seo-summary,
  .ms-admin-hero-main,
  .ms-admin-hero-side
) {
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Cadastro: formulário central, compacto e visualmente organizado. */
body.ms-cadastro-page .cadastro-wrap {
  width: min(560px,calc(100% - 28px)) !important;
  min-height: auto !important;
  padding: clamp(34px,6vw,68px) 0 !important;
}

body.ms-cadastro-page .cadastro-card {
  height: auto !important;
  min-height: 0 !important;
  align-self: center !important;
  padding: clamp(24px,4vw,34px) !important;
  border-radius: 24px !important;
}

body.ms-cadastro-page .cadastro-card-heading {
  display: block !important;
  margin: 0 0 26px !important;
  text-align: left !important;
}

body.ms-cadastro-page .cadastro-card-heading > span {
  display: inline-flex !important;
  margin-bottom: 12px !important;
  color: #008cff !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body.ms-cadastro-page .cadastro-card-heading h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.8rem,5vw,2.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}

body.ms-cadastro-page .cadastro-card-heading p {
  margin: 10px 0 0 !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.ms-cadastro-page .simple-form {
  gap: 16px !important;
}

body.ms-cadastro-page .field label {
  margin-bottom: 8px !important;
  color: #fff !important;
  font-size: 12px !important;
}

body.ms-cadastro-page .field small {
  color: rgba(255,255,255,.42) !important;
  font-weight: 700 !important;
}

body.ms-cadastro-page .field input {
  height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 13px !important;
  background: #050505 !important;
  font-size: 14px !important;
}

body.ms-cadastro-page .field input:focus {
  background: #050505 !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: none !important;
}

body.ms-cadastro-page .note,
body.ms-cadastro-page .ms-data-safe {
  padding: 13px 14px !important;
  color: rgba(255,255,255,.66) !important;
  background: #030303 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

body.ms-cadastro-page .ms-privacy-consent {
  display: grid !important;
  grid-template-columns: 20px minmax(0,1fr) !important;
  gap: 11px !important;
  align-items: start !important;
  padding: 14px !important;
  color: rgba(255,255,255,.70) !important;
  background: #030303 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
}

body.ms-cadastro-page .ms-privacy-consent input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 1px 0 0 !important;
  accent-color: #008cff !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.ms-cadastro-page .ms-privacy-consent a {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.ms-cadastro-page .actions {
  margin-top: 2px !important;
}

body.ms-cadastro-page .actions .btn.primary {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 13px !important;
}

body.ms-cadastro-page .cadastro-card > .ms-data-safe {
  margin: 18px 0 0 !important;
  text-align: center !important;
}

@media (max-width: 620px) {
  body.ms-cadastro-page .cadastro-wrap {
    width: calc(100% - 20px) !important;
    padding: 22px 0 30px !important;
  }
  body.ms-cadastro-page .cadastro-card {
    padding: 20px 16px !important;
  }
  body.ms-cadastro-page .field label {
    align-items: flex-start !important;
  }
}

@media (max-width: 760px) {
  body:not([data-doc-type]) :is(.ms-regioes-grid,.ms-plans-grid,.ms-grid-4,.ms-grid-3,.ms-grid-2,.ms-admin-systems,.ms-form-grid,.form-grid) {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body:not([data-doc-type]) :is(.ms-container,.container,.wrap,.ms-admin-inner,.ms-admin-dashboard) {
    width: min(100% - 24px,1180px) !important;
  }
  body:not([data-doc-type]) :is(h1,.ms-title-xl) {
    font-size: clamp(2.15rem,12vw,3.8rem) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  body:not([data-doc-type]) :is(.ms-btn,.btn,.button,button,input,select,textarea) {
    max-width: 100% !important;
  }
}

/* Busca de serviços: imagem, painel e cards sem preenchimento cinza. */
body.ms-motoristas-page .ms-result-card,
body.ms-motoristas-page .ms-result-card:hover,
body.ms-motoristas-page .ms-result-card:focus-within,
body.ms-motoristas-page .ms-result-card button,
body.ms-motoristas-page .ms-result-card button:hover,
body.ms-motoristas-page .ms-selected,
body.ms-motoristas-page .ms-selected.is-visible,
body.ms-motoristas-page .ms-selected-media,
body.ms-motoristas-page .ms-selected-copy,
body.ms-motoristas-page .ms-selected-keywords,
body.ms-motoristas-page .ms-search-box,
body.ms-motoristas-page .ms-seo,
body.ms-motoristas-page .ms-social-box {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.ms-motoristas-page .ms-selected-media img {
  background: #000 !important;
  background-color: #000 !important;
}

body.ms-motoristas-page .ms-result-card em {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 18px !important;
  color: #fff !important;
  background: transparent !important;
  font-style: normal !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.ms-motoristas-page .ms-result-card:hover em,
body.ms-motoristas-page .ms-result-card:focus-within em {
  color: #fff !important;
}

/* Plano Gold: destaque elegante e consistente com o tema preto/azul. */
body.ms-servicos-page #planos .ms-plan-card.featured {
  position: relative !important;
  padding-top: 30px !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border: 1px solid rgba(0,140,255,.82) !important;
  box-shadow: 0 0 0 1px rgba(0,140,255,.10) !important;
  transform: translateY(-6px) !important;
}

body.ms-servicos-page #planos .ms-plan-card.featured:hover {
  background: #000 !important;
  border-color: #008cff !important;
  box-shadow: 0 0 0 1px rgba(0,140,255,.18) !important;
  transform: translateY(-8px) !important;
}

body.ms-servicos-page #planos .ms-plan-card.featured .ms-plan-badge {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 28px !important;
  margin: 0 0 14px !important;
  padding: 0 12px !important;
  border: 1px solid #008cff !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #008cff !important;
  background-color: #008cff !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}

body.ms-servicos-page #planos .ms-plan-card.featured > div,
body.ms-servicos-page #planos .ms-plan-card.featured .ms-plan-label,
body.ms-servicos-page #planos .ms-plan-card.featured .ms-plan-price,
body.ms-servicos-page #planos .ms-plan-card.featured .ms-plan-description {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

@media (max-width: 1080px) {
  body.ms-servicos-page #planos .ms-plan-card.featured,
  body.ms-servicos-page #planos .ms-plan-card.featured:hover {
    transform: none !important;
  }
}

/* Autoridade final das páginas de acesso. */
body.ms-login-page .login-wrap,
body.ms-cadastro-page .cadastro-wrap {
  min-height: calc(100svh - 190px) !important;
  padding: clamp(32px,5vw,58px) 0 !important;
}
body.ms-login-page .login-card,
body.ms-cadastro-page .cadastro-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: #000 !important;
  border: 1px solid #1d1d1d !important;
  box-shadow: none !important;
}
body.ms-login-page .login-field input,
body.ms-login-page .password-line input {
  background: #070707 !important;
  border-color: #222 !important;
  box-shadow: none !important;
}
body.ms-login-page .login-actions,
body.ms-cadastro-page .actions {
  width: 100% !important;
  margin-top: 20px !important;
}
body.ms-login-page .login-btn,
body.ms-login-page .login-btn:hover,
body.ms-login-page .login-btn:focus-visible,
body.ms-cadastro-page .actions .btn.primary,
body.ms-cadastro-page .actions .btn.primary:hover,
body.ms-cadastro-page .actions .btn.primary:focus-visible {
  width: 100% !important;
  min-height: 52px !important;
  color: #050505 !important;
  background: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  transform: none !important;
}
body.ms-login-page .login-btn:hover,
body.ms-cadastro-page .actions .btn.primary:hover {
  background: #e9e9e9 !important;
  border-color: #e9e9e9 !important;
}
body.ms-cadastro-page .cadastro-card-heading {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.ms-cadastro-page .ms-privacy-consent .ms-field-status {
  display: none !important;
}
@media (max-width:760px) {
  body.ms-login-page .login-wrap,
  body.ms-cadastro-page .cadastro-wrap {
    width: calc(100% - 20px) !important;
    min-height: auto !important;
    padding: 24px 0 34px !important;
  }
  body.ms-login-page .login-card,
  body.ms-cadastro-page .cadastro-card {
    width: 100% !important;
    padding: 20px 16px !important;
    border-radius: 18px !important;
  }
}

/* Padronização final de tipografia, links e superfícies. */
html {
  font-family: Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

body:not([data-doc-type]) {
  font-family: Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-size: 16px;
}

body:not([data-doc-type]) :is(a,.ms-card-link,.ms-service-link,.ms-footer a,.login-forgot a,.login-call a) {
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

body:not([data-doc-type]) :is(.ms-card-link,.ms-service-link,.ms-footer a,.login-forgot a,.login-call a) {
  color: #fff !important;
}

body:not([data-doc-type]) :is(.ms-card-link,.ms-service-link,.ms-footer a,.login-forgot a,.login-call a):hover {
  color: #ddd !important;
}

/* Serviços: cinza sólido nas bordas, sem qualquer contorno azul. */
body.ms-servicos-page :is(
  .ms-premium-panel,
  .ms-card,
  .ms-plan-card,
  .ms-plan-card.featured,
  .ms-plans-wrap,
  .ms-note,
  .ms-plan-highlight,
  .ms-service-premium-card,
  .ms-service-photo-toggle,
  .ms-service-image-modal-dialog,
  .ms-social-link,
  .ms-plan-whatsapp
),
body.ms-servicos-page :is(
  .ms-premium-panel,
  .ms-card,
  .ms-plan-card,
  .ms-plan-card.featured,
  .ms-note,
  .ms-service-premium-card,
  .ms-service-photo-toggle,
  .ms-social-link,
  .ms-plan-whatsapp
):hover,
body.ms-servicos-page :is(
  .ms-premium-panel,
  .ms-card,
  .ms-plan-card,
  .ms-plan-card.featured,
  .ms-note,
  .ms-service-premium-card,
  .ms-service-photo-toggle,
  .ms-social-link,
  .ms-plan-whatsapp
):focus-visible {
  border-color: #262626 !important;
  outline-color: #333 !important;
  box-shadow: none !important;
}

body.ms-servicos-page #planos .ms-plan-card,
body.ms-servicos-page #planos .ms-plan-card.featured,
body.ms-servicos-page #planos .ms-plan-card.featured:hover,
body.ms-servicos-page #planos .ms-plan-highlight,
body.ms-servicos-page #planos .ms-note {
  border-color: #262626 !important;
  box-shadow: none !important;
}

body.ms-servicos-page :is(.ms-btn,.btn,.button,a[class*="btn"],button) {
  border-color: #303030 !important;
}

/* Login e cadastro com escala e legibilidade equivalentes à Home. */
body.ms-login-page .login-wrap {
  width: min(520px,calc(100% - 28px)) !important;
}

body.ms-cadastro-page .cadastro-wrap {
  width: min(600px,calc(100% - 28px)) !important;
}

body.ms-login-page .login-card,
body.ms-cadastro-page .cadastro-card {
  padding: clamp(26px,4vw,38px) !important;
}

body.ms-login-page .login-title h2,
body.ms-cadastro-page .cadastro-card-heading h1 {
  font-size: clamp(2rem,5vw,2.65rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
}

body.ms-login-page .login-title p,
body.ms-cadastro-page .cadastro-card-heading p {
  max-width: 480px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body.ms-login-page :is(.login-field label,.login-forgot),
body.ms-cadastro-page :is(.field label,.note,.ms-data-safe,.ms-privacy-consent) {
  line-height: 1.55 !important;
}

body.ms-login-page .login-field input,
body.ms-cadastro-page .field input {
  min-height: 54px !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

body.ms-login-page .login-actions {
  gap: 10px !important;
}

body.ms-login-page .login-register-btn,
body.ms-login-page .login-register-btn:hover,
body.ms-login-page .login-register-btn:focus-visible {
  color: #fff !important;
  background: #080808 !important;
  background-color: #080808 !important;
  background-image: none !important;
  border: 1px solid #333 !important;
  text-decoration: none !important;
}

body.ms-login-page .login-register-btn:hover {
  background: #111 !important;
  border-color: #555 !important;
}

/* Segurança contra estouro horizontal e mídia pesada no layout. */
body:not([data-doc-type]) :is(img,video,svg,canvas,iframe) {
  max-width: 100% !important;
}

body:not([data-doc-type]) :is(img,video) {
  height: auto;
}

body:not([data-doc-type]) :is(main,section,article,aside,div,form,fieldset,table) {
  min-width: 0;
}

@media (max-width:760px) {
  body.ms-login-page .login-wrap,
  body.ms-cadastro-page .cadastro-wrap {
    width: calc(100% - 20px) !important;
  }
  body.ms-login-page .login-card,
  body.ms-cadastro-page .cadastro-card {
    padding: 22px 17px !important;
  }
  body.ms-login-page .login-title h2,
  body.ms-cadastro-page .cadastro-card-heading h1 {
    font-size: clamp(1.85rem,9vw,2.3rem) !important;
  }
}

/* Painel principal: preto absoluto e sem numeração decorativa. */
html:has(body.ms-admin-dashboard-page),
body.ms-admin-dashboard-page,
body.ms-admin-dashboard-page::before,
body.ms-admin-dashboard-page::after,
body.ms-admin-dashboard-page main,
body.ms-admin-dashboard-page .ms-admin-dashboard,
body.ms-admin-dashboard-page .ms-admin-hero,
body.ms-admin-dashboard-page .ms-admin-hero-main,
body.ms-admin-dashboard-page .ms-admin-hero-side,
body.ms-admin-dashboard-page .ms-admin-stat,
body.ms-admin-dashboard-page .ms-admin-systems,
body.ms-admin-dashboard-page .ms-admin-card {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.ms-admin-dashboard-page .ms-admin-card-number {
  display: none !important;
}

body.ms-admin-dashboard-page .ms-admin-hero-main::after {
  content: none !important;
  display: none !important;
}

/* Meus Dados: remove somente a marca MS decorativa do fundo. */
body.ms-admin-dados-page .hero::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Menu móvel próximo do cabeçalho, sem espaço excessivo. */
@media (max-width:860px) {
  body:not([data-doc-type]) :is(.ms-final-header,.ms-admin-topbar) {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
  }

  body:not([data-doc-type]) :is(.ms-final-header-inner,.ms-admin-inner) {
    position: relative !important;
    width: calc(100% - 20px) !important;
    min-height: 64px !important;
    padding: 7px 0 !important;
    gap: 8px !important;
  }

  body:not([data-doc-type]) :is(.ms-final-mark,.ms-admin-logo) {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }

  body:not([data-doc-type]) :is(.ms-final-menu-btn,.ms-admin-menu-toggle) {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body:not([data-doc-type]) :is(.ms-final-nav,.ms-admin-nav) {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 6px !important;
    gap: 2px !important;
    background: #000 !important;
    border: 1px solid #1c1c1c !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 16px 30px rgba(0,0,0,.55) !important;
    z-index: 10000 !important;
  }

  body:not([data-doc-type]) :is(.ms-final-nav,.ms-admin-nav) a {
    min-height: 42px !important;
    padding: 10px 12px !important;
    justify-content: flex-start !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    border: 0 !important;
    border-radius: 9px !important;
  }

  body:not([data-doc-type]) :is(.ms-final-nav,.ms-admin-nav) a + a {
    border-top: 1px solid #151515 !important;
  }
}

@media (max-width:420px) {
  body:not([data-doc-type]) :is(.ms-final-header-inner,.ms-admin-inner) {
    width: calc(100% - 14px) !important;
    min-height: 60px !important;
  }
}

/* Login: links do menu brancos com o mesmo brilho discreto da Home. */
body.ms-login-page .ms-final-nav a,
body.ms-login-page .ms-final-nav a:visited {
  color: #fff !important;
  text-shadow: 0 0 8px rgba(255,255,255,.26) !important;
  font-weight: 850 !important;
}

body.ms-login-page .ms-final-nav a:hover,
body.ms-login-page .ms-final-nav a:focus-visible {
  color: #fff !important;
  text-shadow: 0 0 11px rgba(255,255,255,.42) !important;
  background: #080808 !important;
}

/* Contratos: remove todas as palavras PDF usadas como decoração. */
body.ms-admin-contratos-page .hero::after,
body.ms-admin-contratos-page .contract-card::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Meu Perfil: preto sólido, sem marca MS decorativa e layout corrigido. */
body.ms-admin-meu-perfil-page,
body.ms-admin-meu-perfil-page main,
body.ms-admin-meu-perfil-page .mp-wrap,
body.ms-admin-meu-perfil-page .mp-hero,
body.ms-admin-meu-perfil-page .mp-card,
body.ms-admin-meu-perfil-page .mp-info,
body.ms-admin-meu-perfil-page .mp-frame {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.ms-admin-meu-perfil-page .mp-hero::before,
body.ms-admin-meu-perfil-page .mp-hero::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.ms-admin-meu-perfil-page .mp-hero {
  grid-template-columns: auto minmax(0,1fr) !important;
  align-items: center !important;
}

body.ms-admin-meu-perfil-page .mp-hero h1 {
  max-width: 100% !important;
  margin: 9px 0 5px !important;
  font-size: clamp(2rem,4.2vw,3.8rem) !important;
  line-height: .98 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.ms-admin-meu-perfil-page .mp-grid {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}

body.ms-admin-meu-perfil-page .mp-frame {
  width: 100% !important;
  height: min(760px,78vh) !important;
  border-color: #242424 !important;
}

body.ms-admin-meu-perfil-page .mp-frame iframe {
  width: 100% !important;
  max-width: 100% !important;
  background: #000 !important;
}

@media (max-width:820px) {
  body.ms-admin-meu-perfil-page .mp-wrap {
    width: calc(100% - 20px) !important;
    padding: 22px 0 38px !important;
  }
  body.ms-admin-meu-perfil-page .mp-hero {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 22px 18px !important;
    text-align: center !important;
  }
  body.ms-admin-meu-perfil-page .mp-hero h1 {
    font-size: clamp(2rem,10vw,3.2rem) !important;
  }
  body.ms-admin-meu-perfil-page .mp-grid {
    grid-template-columns: 1fr !important;
  }
  body.ms-admin-meu-perfil-page .mp-card {
    padding: 18px !important;
  }
  body.ms-admin-meu-perfil-page .mp-frame {
    height: 620px !important;
  }
}

@media (max-width:520px) {
  body.ms-admin-meu-perfil-page .mp-frame {
    height: 540px !important;
    border-radius: 16px !important;
  }
}

/* Recuperação de senha segue exatamente o padrão do login. */
body.ms-login-page .login-actions .login-btn.ghost,
body.ms-login-page .login-actions .login-btn.ghost:hover,
body.ms-login-page .login-actions .login-btn.ghost:focus-visible {
  color: #fff !important;
  background: #080808 !important;
  background-color: #080808 !important;
  background-image: none !important;
  border: 1px solid #333 !important;
  text-decoration: none !important;
}

body.ms-login-page .login-debug-link {
  color: #fff !important;
  background: #050505 !important;
  border-color: #333 !important;
}

body.ms-login-page .login-debug-link a {
  color: #fff !important;
}

body.ms-login-page .login-note {
  margin-top: 18px !important;
  color: rgba(255,255,255,.55) !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

/* Borda global final: cinza sólido em todos os elementos que já possuem contorno. */
:root {
  --ms-border: #2a2a2a !important;
  --ms-border-soft: #242424 !important;
  --ms-line: #2a2a2a !important;
}

body:not([data-doc-type]) :is(
  [class*="card"], [class*="panel"], [class*="box"], [class*="hero"],
  [class*="modal"], [class*="frame"], [class*="preview"], [class*="photo"],
  [class*="image"], [class*="avatar"], [class*="media"], [class*="gallery"],
  form, fieldset, input, select, textarea, button, table, th, td, details, summary,
  .btn, .button, .ms-btn, .login-btn, .auth-button, .ms-kicker,
  img, picture, video, iframe
) {
  border-color: #2a2a2a !important;
  outline-color: #3a3a3a !important;
}

/* CTA final: fundo preto sólido, sem degradê azul ou mudança ao passar o mouse. */
body:not([data-doc-type]) .ms-cta,
body:not([data-doc-type]) .ms-cta:hover,
body:not([data-doc-type]) .ms-cta:focus-within {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border-color: #2a2a2a !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) .ms-cta::before,
body:not([data-doc-type]) .ms-cta::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Kicker único do site: maior, legível e azul somente como detalhe. */
body:not([data-doc-type]) .ms-kicker,
body.ms-login-page .login-title .ms-kicker,
body.ms-cadastro-page .cadastro-card-heading > .ms-kicker,
body .cadastro-card-heading > .ms-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 42px !important;
  margin: 0 0 18px !important;
  padding: 10px 19px !important;
  border: 1px solid #087fda !important;
  border-radius: 999px !important;
  background: #06111a !important;
  background-image: none !important;
  color: #39a8ff !important;
  font-size: clamp(.72rem,.82vw,.84rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

body:not([data-doc-type]) .ms-kicker::before,
body.ms-login-page .login-title .ms-kicker::before,
body .cadastro-card-heading > .ms-kicker::before {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  flex: 0 0 8px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #168fff !important;
  box-shadow: 0 0 12px rgba(22,143,255,.62) !important;
}

body:not([data-doc-type]) .ms-kicker::after,
body.ms-login-page .login-title .ms-kicker::after,
body .cadastro-card-heading > .ms-kicker::after {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 1px !important;
  flex: 0 0 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #168fff !important;
  box-shadow: none !important;
}

/* Planos de casamento: toda a estrutura usa borda cinza, inclusive hover e destaque. */
body.ms-servicos-page #planos :is(.ms-plans-wrap,.ms-plans-grid,.ms-plan-card,.ms-plan-card.featured,.ms-plan-badge),
body.ms-servicos-page #planos :is(.ms-plans-wrap,.ms-plans-grid,.ms-plan-card,.ms-plan-card.featured,.ms-plan-badge):hover,
body.ms-servicos-page #planos :is(.ms-plans-wrap,.ms-plans-grid,.ms-plan-card,.ms-plan-card.featured,.ms-plan-badge):focus-within {
  border-color: #2a2a2a !important;
  outline-color: #3a3a3a !important;
}

body.ms-servicos-page #planos .ms-plan-card.featured {
  background: #050505 !important;
  background-image: none !important;
  box-shadow: none !important;
}

@media (max-width: 600px) {
  body:not([data-doc-type]) .ms-kicker,
  body.ms-login-page .login-title .ms-kicker,
  body .cadastro-card-heading > .ms-kicker {
    min-height: 38px !important;
    padding: 9px 14px !important;
    font-size: .68rem !important;
    letter-spacing: .12em !important;
  }
}

/* Cabeçalho das páginas de acesso: logotipo limpo e sem moldura. */
body.ms-auth-page :is(.ms-final-brand,.ms-final-mark,.ms-final-mark img,.ms-logo-img),
body.ms-login-page :is(.ms-final-brand,.ms-final-mark,.ms-final-mark img,.ms-logo-img),
body.ms-cadastro-page :is(.ms-final-brand,.ms-final-mark,.ms-final-mark img,.ms-logo-img) {
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Ritmo vertical compacto: títulos, textos e blocos mais próximos em todo o site. */
body:not([data-doc-type]) :is(.ms-section,.section,section[class*="section"]) {
  padding-top: clamp(42px,5vw,72px) !important;
  padding-bottom: clamp(42px,5vw,72px) !important;
}

body:not([data-doc-type]) :is(.ms-section-head,.section-head,.ms-heading,.section-heading,.title-wrap,.heading-wrap) {
  gap: 10px !important;
  margin-bottom: clamp(20px,2.5vw,34px) !important;
}

body:not([data-doc-type]) :is(.ms-title,.section-title,.hero-title,h1,h2,h3) {
  margin-top: 0 !important;
  margin-bottom: .38em !important;
}

body:not([data-doc-type]) :is(.ms-title,.section-title,.hero-title,h1,h2,h3) + :is(p,.ms-lead,.lead,.subtitle,.description) {
  margin-top: 0 !important;
}

body:not([data-doc-type]) :is(.ms-lead,.lead,.subtitle,.description) {
  margin-bottom: clamp(14px,1.8vw,22px) !important;
}

body:not([data-doc-type]) :is(.ms-actions,.actions,.hero-actions,.btn-row,.button-row) {
  margin-top: clamp(16px,2vw,24px) !important;
}

body:not([data-doc-type]) :is(.ms-grid,.cards-grid,.card-grid,.services-grid,.ms-plans-grid,.mp-grid) {
  gap: clamp(14px,1.8vw,24px) !important;
}

body.ms-auth-page :is(.login-wrap,.cadastro-wrap) {
  padding-top: clamp(30px,4vw,54px) !important;
  padding-bottom: clamp(30px,4vw,54px) !important;
}

body.ms-auth-page :is(.login-title,.cadastro-card-heading) {
  margin-bottom: 22px !important;
}

@media (max-width: 700px) {
  body:not([data-doc-type]) :is(.ms-section,.section,section[class*="section"]) {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  body:not([data-doc-type]) :is(.ms-section-head,.section-head,.ms-heading,.section-heading,.title-wrap,.heading-wrap) {
    margin-bottom: 18px !important;
  }
}

body:not([data-doc-type]) :is(
  [class*="card"], [class*="panel"], [class*="box"], [class*="hero"],
  [class*="modal"], [class*="frame"], [class*="preview"], [class*="photo"],
  [class*="image"], [class*="avatar"], [class*="media"], [class*="gallery"]
)::before,
body:not([data-doc-type]) :is(
  [class*="card"], [class*="panel"], [class*="box"], [class*="hero"],
  [class*="modal"], [class*="frame"], [class*="preview"], [class*="photo"],
  [class*="image"], [class*="avatar"], [class*="media"], [class*="gallery"]
)::after {
  border-color: #2a2a2a !important;
  outline-color: #3a3a3a !important;
}
