/* Layout compartilhado. Aparência e temas dos apps Bootstrap vêm do Bootstrap local.
   Os aliases mm-* mantêm os layouts existentes; os fallbacks atendem o Radar (Tailwind). */
/* Bootstrap 5.3 não adapta o botão outline ao modo escuro: #0d6efd sobre #212529 dá 3,5:1 e o axe exige 4,5:1.
   No escuro o outline veste a cor de ênfase do tema (a mesma que o Bootstrap usa para texto). */
[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: var(--bs-primary-text-emphasis);
  --bs-btn-border-color: var(--bs-primary-text-emphasis);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--bs-primary-text-emphasis);
  --bs-btn-hover-border-color: var(--bs-primary-text-emphasis);
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: var(--bs-primary-text-emphasis);
  --bs-btn-active-border-color: var(--bs-primary-text-emphasis);
  --bs-btn-disabled-color: var(--bs-primary-text-emphasis);
  --bs-btn-disabled-border-color: var(--bs-primary-text-emphasis);
}
[data-bs-theme="dark"] .btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary-text-emphasis);
  --bs-btn-border-color: var(--bs-secondary-text-emphasis);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--bs-secondary-text-emphasis);
  --bs-btn-hover-border-color: var(--bs-secondary-text-emphasis);
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: var(--bs-secondary-text-emphasis);
  --bs-btn-active-border-color: var(--bs-secondary-text-emphasis);
  --bs-btn-disabled-color: var(--bs-secondary-text-emphasis);
  --bs-btn-disabled-border-color: var(--bs-secondary-text-emphasis);
}
:root, [data-bs-theme] {
  /* Acessibilidade: os contornos nativos sutis ficam abaixo de 3:1. Usamos as cores
     de texto do próprio tema para separar campos, painéis e estados nos dois modos. */
  --bs-border-color: var(--bs-secondary-color);
  --bs-success-border-subtle: var(--bs-success-text-emphasis);
  --bs-warning-border-subtle: var(--bs-warning-text-emphasis);
  --bs-danger-border-subtle: var(--bs-danger-text-emphasis);
  --bs-info-border-subtle: var(--bs-info-text-emphasis);
  --bs-secondary-border-subtle: var(--bs-secondary-text-emphasis);
  --mm-space-1: .5rem; --mm-space-2: 1rem; --mm-space-3: 1.5rem; --mm-space-4: 2.5rem;
  --mm-radius: var(--bs-border-radius, .25rem); --mm-gutter: clamp(1rem, 3vw, 2rem);
  --mm-control: 2.75rem; --mm-control-sm: 2.75rem;
  --mm-bg: var(--bs-body-bg, #f3f5f8); --mm-surface: var(--bs-body-bg, #fff); --mm-surface-2: var(--bs-tertiary-bg, #e9edf2);
  --mm-border: var(--bs-border-color, #748196); --mm-border-strong: var(--bs-secondary-color, #64748b);
  --mm-text: var(--bs-body-color, #172029); --mm-muted: var(--bs-secondary-color, #55616d);
  --mm-accent: var(--bs-primary, #1f5ae8); --mm-accent-hover: #0b5ed7;
  --mm-accent-text: var(--bs-primary-text-emphasis, #1d4ed8); --mm-accent-text-rgb: var(--bs-link-color-rgb, 29, 78, 216);
  --mm-on-accent: #fff; --mm-accent-soft: var(--bs-primary-bg-subtle, #e6eefc);
  --mm-ok: var(--bs-success-text-emphasis, #14663a); --mm-ok-bg: var(--bs-success-bg-subtle, #e3f4e9); --mm-ok-border: var(--bs-success-border-subtle, #478461);
  --mm-warn: var(--bs-warning-text-emphasis, #8a5a00); --mm-warn-bg: var(--bs-warning-bg-subtle, #fff2cf); --mm-warn-border: var(--bs-warning-border-subtle, #9e7520);
  --mm-bad: var(--bs-danger-text-emphasis, #b42318); --mm-bad-bg: var(--bs-danger-bg-subtle, #fde7e5); --mm-bad-border: var(--bs-danger-border-subtle, #b9655c);
  --mm-info: var(--bs-info-text-emphasis, #1d4ed8); --mm-info-bg: var(--bs-info-bg-subtle, #e6eefc); --mm-info-border: var(--bs-info-border-subtle, #5679be);
  --mm-neutral: var(--bs-secondary-text-emphasis, #4b5563); --mm-neutral-bg: var(--bs-secondary-bg-subtle, #eef0f3); --mm-neutral-border: var(--bs-secondary-border-subtle, #748196);
  --mm-danger-fill: var(--bs-danger, #b42318); --mm-danger-hover: #b02a37;
  --mm-shadow-pop: var(--bs-box-shadow, 0 8px 24px rgb(15 23 42 / .12));
  --mm-font-mono: var(--bs-font-monospace, monospace);
}
/* Tema do consumidor Tailwind; não redefine o tema Bootstrap. */
[data-theme="dark"] {
  --mm-bg: #111821; --mm-surface: #1b2532; --mm-surface-2: #223449; --mm-border: #8293aa; --mm-border-strong: #9aabc1;
  --mm-text: #e6ebf0; --mm-muted: #a4b0bc;
  --mm-accent: #2f6fed; --mm-accent-hover: #245bcc; --mm-accent-text: #8fb4ff; --mm-accent-text-rgb: 143, 180, 255;
  --mm-on-accent: #fff; --mm-accent-soft: #15243d;
  --mm-ok: #57d38f; --mm-ok-bg: #112a1d; --mm-ok-border: #448969;
  --mm-warn: #f2c14e; --mm-warn-bg: #33270a; --mm-warn-border: #a58437;
  --mm-bad: #ff8a80; --mm-bad-bg: #3a1616; --mm-bad-border: #b66967;
  --mm-info: #8fb4ff; --mm-info-bg: #15243d; --mm-info-border: #6387b8;
  --mm-neutral: #b6c0cb; --mm-neutral-bg: #1f262f; --mm-neutral-border: #8293aa;
  --mm-shadow-pop: 0 8px 24px rgb(0 0 0 / .5);
}


[hidden] { display: none !important; }
.mm-human { min-height: 100vh; display: flex; flex-direction: column; }
.mm-human main { flex: 1 0 auto; }
.mm-human main, .mm-human section, .mm-human .tab-content { min-width: 0; }
.mm-human pre, .mm-human .mm-codigo { background: var(--mm-surface-2); border: 1px solid var(--mm-border); border-radius: var(--mm-radius); padding: .75rem 1rem; font-size: .875rem; overflow: auto; max-width: 100%; min-width: 0; }
.mm-human pre code { white-space: pre; overflow-wrap: normal; word-break: normal; }
.mm-mono { font-family: var(--mm-font-mono); }
.mm-num, .mm-facts dd, .mm-kpi dd { font-variant-numeric: tabular-nums; }
.mm-skeleton { min-height: 1em; background: var(--mm-surface-2); color: transparent !important; }

.mm-workspace { width: 100%; max-width: none; margin-inline: auto; padding-inline: var(--mm-gutter); min-width: 0; }
.mm-chrome { position: sticky; top: 0; z-index: 1020; background: var(--mm-surface); border-bottom: 1px solid var(--mm-border); }
.mm-topbar { border-bottom: 1px solid var(--mm-border); }
.mm-topbar > .mm-workspace { display: flex; align-items: center; gap: .5rem 1rem; min-height: 3.15rem; padding-block: .3rem; }
.mm-menubar > .mm-workspace { display: flex; align-items: center; min-height: 2.65rem; padding-block: 0; }
.mm-brand, .mm-brand:hover { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: 1.125rem; letter-spacing: -.01em; color: var(--mm-text); text-decoration: none; white-space: nowrap; }
.mm-brand .bi, .mm-brand svg, .mm-brand img { color: var(--mm-accent-text); font-size: 1.35rem; width: 1.5rem; height: 1.5rem; }
.mm-topnav { display: flex; flex-wrap: nowrap; overflow-x: auto; align-items: center; scrollbar-width: none; }
.mm-topnav::-webkit-scrollbar { height: 0; }
.mm-topnav:not(.nav) .dropdown-menu { font-size: .9375rem; }
.mm-topnav:not(.nav) > a, .mm-topnav:not(.nav) > button, .mm-topnav:not(.nav) .dropdown-toggle { display: inline-flex; align-items: center; gap: .4rem; min-height: var(--mm-control); padding: .35rem .7rem; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--mm-muted); font: inherit; font-weight: 600; font-size: .9375rem; text-decoration: none; cursor: pointer; }
.mm-topnav:not(.nav) > a:hover, .mm-topnav:not(.nav) > button:hover, .mm-topnav:not(.nav) .dropdown-toggle:hover { background: var(--mm-surface-2); color: var(--mm-text); }
.mm-topnav:not(.nav) > [aria-current="page"], .mm-topnav:not(.nav) > .active { border-bottom-color: var(--mm-accent-text); color: var(--mm-accent-text); }
.mm-tools { display: flex; align-items: center; gap: .5rem; margin-inline-start: auto; }
.mm-topnav:not(.nav) .mm-oferta { color: var(--mm-accent-text); }
.mm-topnav:not(.nav) .mm-oferta:hover { color: var(--mm-accent-text); background: var(--mm-accent-soft); }
.mm-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .35rem; border-radius: 1rem; background: var(--mm-accent); color: var(--mm-on-accent); font-size: .75rem; font-weight: 700; line-height: 1; }
.mm-hero { display: grid; gap: 1.5rem; align-items: start; padding-block: var(--mm-space-4) var(--mm-space-3); }
.mm-hero h1 { margin: 0 0 .75rem; font-size: clamp(1.75rem, 2.2vw + .6rem, 2.375rem); line-height: 1.15; font-weight: 700; }
.mm-lead { margin: 0 0 1.25rem; font-size: 1.0625rem; color: var(--mm-muted); }
.mm-kicker { display: block; margin-bottom: .5rem; font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mm-accent-text); }
.mm-hero-aside { min-width: 0; }
.mm-intro { padding-block: var(--mm-space-4) var(--mm-space-3); }
.mm-intro h1 { font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.15; font-weight: 700; }
.mm-task { margin-block: var(--mm-space-2); }

/* Abertura compacta: coluna extra só com texto visível ou ajuda aberta. Trabalho no centro. */
.mm-opening { display: grid; gap: .65rem 2rem; align-items: start; padding-block: 1rem 1.1rem; }
.mm-opening h1 { margin: 0 0 .35rem; font-size: clamp(1.5rem, 1.8vw + .4rem, 1.875rem); line-height: 1.2; font-weight: 700; }
.mm-opening .mm-lead { margin: 0; font-size: 1rem; }
.mm-guide { min-width: 0; }
.mm-guide > .mm-panel-title { margin: 0; font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; color: var(--mm-accent-text); }
.mm-guide > p { margin: .35rem 0 0; font-size: .9375rem; color: var(--mm-muted); }
.mm-guide summary { cursor: pointer; min-height: var(--mm-control); padding-block: .25rem; font-weight: 600; }
.mm-guide details > .mm-panel { margin-top: .5rem; }
.mm-opening:not(:has(.mm-guide > p)):not(:has(details[open])) .mm-guide { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem 1.25rem; }
.mm-panel.mm-workbench { min-width: 0; margin-bottom: 1.25rem; }
.mm-workbench > .mm-panel-head { background: var(--mm-surface); }
.mm-searchbar { padding: 1rem 1.25rem; border-bottom: 1px solid var(--mm-border); }
.mm-searchbar > :last-child { margin-bottom: 0; }
.mm-searchbar .mm-chips { margin-top: .75rem; }
.mm-guide .mm-facts { grid-template-columns: minmax(0, 1fr); }

/* ── Painéis, seções e grades ── */
.mm-panel { background: var(--mm-surface); border: 1px solid var(--mm-border); border-radius: var(--mm-radius); padding: var(--mm-panel-pad, 1.25rem); min-width: 0; }
.mm-panel > :last-child { margin-bottom: 0; }
.mm-panel-tint { background: var(--mm-surface-2); }
.mm-panel-flush { padding: 0; }
.mm-panel-flush > .mm-panel-head, .mm-panel-flush > .mm-panel-body { padding: 1rem 1.25rem; }
.mm-panel-flush > .mm-panel-head { border-bottom: 1px solid var(--mm-border); margin-bottom: 0; }
.mm-panel-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.mm-panel-title { margin: 0; font-size: 1.0625rem; font-weight: 700; }
.mm-panel-flush .list-group-flush .list-group-item, .mm-panel-flush .mm-rows > * { padding: 1rem 1.25rem; }
.mm-rows { list-style: none; margin: 0; padding: 0; }
.mm-rows > * + * { border-top: 1px solid var(--mm-border); }
/* Linha de lista com valor à direita (página de números): nome à esquerda, número alinhado e
   tabular, para a coluna ficar legível de cima a baixo. */
.mm-rows > li { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-block: .4rem; }
.mm-rows > li > b { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Ausência não grita: "não medido" no lugar de um número herda o corpo grande do KPI, e em quatro
   cartões seguidos parecia estado de erro. Fica com o peso de nota. */
.mm-kpi-value.mm-kpi-note { font-weight: 500; }
.mm-section { padding-block: var(--mm-space-3); }
.mm-bloco { padding-block: var(--mm-space-3); border-top: 1px solid var(--mm-border); }
.mm-section-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .5rem 1.5rem; margin-bottom: 1.25rem; }
.mm-section-head h2, .mm-bloco > h2 { margin: 0; font-size: 1.375rem; font-weight: 700; }
.mm-section-head p { grid-column: 1 / -1; margin: 0; color: var(--mm-muted); }
.mm-bloco > h2 + p { color: var(--mm-muted); margin: .35rem 0 1.25rem; }
.mm-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.mm-grid-2, .mm-grid-3, .mm-split, .mm-split-even, .mm-split-aside { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); align-items: start; }
.mm-split, .mm-split-even, .mm-split-aside { gap: 1.5rem; }
.mm-sticky { position: sticky; top: 6.25rem; }
.mm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.mm-actions-end { justify-content: flex-end; }
.mm-kpis { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); margin: 0; }
.mm-kpi { min-width: 0; padding: .875rem 1rem; border: 1px solid var(--mm-border); border-radius: var(--mm-radius); background: var(--mm-surface); }
.mm-kpi-label, .mm-kpi dt { margin-bottom: .25rem; font-size: .8125rem; font-weight: 500; color: var(--mm-muted); }
.mm-kpi-value, .mm-kpi dd { margin: 0; font-size: 1.625rem; font-weight: 700; line-height: 1.1; letter-spacing: -.01em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.mm-kpi-note, .mm-kpi small { display: block; margin-top: .3rem; font-size: .8125rem; color: var(--mm-muted); }
.mm-kpi-ok .mm-kpi-value, .mm-kpi-ok dd { color: var(--mm-ok); }
.mm-kpi-warn .mm-kpi-value, .mm-kpi-warn dd { color: var(--mm-warn); }
.mm-kpi-bad .mm-kpi-value, .mm-kpi-bad dd { color: var(--mm-bad); }
.mm-kpi-accent .mm-kpi-value, .mm-kpi-accent dd { color: var(--mm-accent-text); }
.mm-facts { display: grid; gap: .75rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); margin: 0; }
.mm-facts dt { font-size: .8125rem; font-weight: 500; color: var(--mm-muted); }
.mm-facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.mm-status { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; padding: .15rem .55rem; border: 1px solid var(--mm-neutral-border); border-radius: var(--mm-radius); background: var(--mm-neutral-bg); color: var(--mm-neutral); font-size: .8125rem; font-weight: 600; line-height: 1.4; }
.mm-status-ok { color: var(--mm-ok); background: var(--mm-ok-bg); border-color: var(--mm-ok-border); }
.mm-status-warn { color: var(--mm-warn); background: var(--mm-warn-bg); border-color: var(--mm-warn-border); }
.mm-status-bad { color: var(--mm-bad); background: var(--mm-bad-bg); border-color: var(--mm-bad-border); }
.mm-status-info { color: var(--mm-info); background: var(--mm-info-bg); border-color: var(--mm-info-border); }
.mm-need { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.1rem; border: 1px solid var(--mm-border); border-radius: var(--mm-radius); background: var(--mm-surface); color: var(--mm-text); text-decoration: none; }
.mm-need > .bi, .mm-need > svg { font-size: 1.5rem; width: 1.5rem; height: 1.5rem; color: var(--mm-accent-text); }
.mm-need h3 { margin: 0; font-size: 1.0625rem; font-weight: 700; }
.mm-need p { margin: 0; font-size: .9375rem; color: var(--mm-muted); }
.mm-need-cta { margin-top: auto; padding-top: .25rem; font-weight: 600; color: var(--mm-accent-text); }
a.mm-need:hover, button.mm-need:hover { border-color: var(--mm-accent-text); color: var(--mm-text); }
.mm-need-row { display: grid; gap: .85rem 1.75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); list-style: none; margin: 0; padding: 0; }
.mm-need-row h3 { margin: 0 0 .2rem; font-size: 1rem; } .mm-need-row p { margin: 0; font-size: .875rem; color: var(--mm-muted); } .mm-need-row .bi, .mm-need-row svg { color: var(--mm-accent-text); margin-right: .3rem; width: 1.1rem; height: 1.1rem; }
.mm-foto-credito { margin: .35rem 0 0; font-size: .75rem; color: var(--mm-muted); }
.mm-steps { counter-reset: passo; list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.mm-steps > li { counter-increment: passo; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; align-items: start; }
.mm-steps > li::before { grid-column: 1; grid-row: 1 / span 2; content: counter(passo); display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--mm-accent-soft); color: var(--mm-accent-text); font-weight: 700; }
.mm-steps > li > * { grid-column: 2; }
.mm-steps strong { display: block; margin-bottom: .2rem; }
.mm-steps p { margin: 0; color: var(--mm-muted); }
.mm-chips { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.mm-chip:not(.btn) { display: inline-flex; align-items: center; gap: .35rem; min-height: var(--mm-control); padding: .2rem .65rem; border: 1px solid var(--mm-border-strong); border-radius: var(--mm-radius); background: var(--mm-surface); color: var(--mm-text); font: inherit; font-size: .875rem; font-weight: 500; text-decoration: none; cursor: pointer; }
.mm-chip:not(.btn):hover { border-color: var(--mm-accent-text); color: var(--mm-accent-text); }
.mm-hero-main { min-width: 0; }
.mm-hero:has(> .mm-hero-aside > [hidden]:only-child), .mm-hero:has(> .mm-hero-aside:empty) { grid-template-columns: minmax(0, 1fr); }
.mm-panels { display: grid; gap: 1rem; align-items: start; }
.mm-panels > * { margin: 0 !important; padding: 1.25rem !important; border: 1px solid var(--mm-border) !important; border-radius: var(--mm-radius); background: var(--mm-surface); min-width: 0; }
.mm-example { margin: 0; padding: 1rem 1.25rem; border: 1px solid var(--mm-border); border-left: 3px solid var(--mm-accent); border-radius: var(--mm-radius); background: var(--mm-surface); max-width: none; }
.mm-example > :last-child { margin-bottom: 0; }
.mm-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
.mm-nav a { font-weight: 600; text-underline-offset: .2em; }
.mm-faq-item { padding: .15rem 0; border-bottom: 1px solid var(--mm-border); }
.mm-faq-item summary { display: flex; gap: .75rem; align-items: baseline; padding: .7rem 0; cursor: pointer; list-style: none; font-weight: 600; }
.mm-faq-item summary::-webkit-details-marker { display: none; }
.mm-faq-item summary::before { content: "+"; flex: 0 0 1rem; color: var(--mm-accent-text); font-weight: 700; }
.mm-faq-item[open] summary::before { content: "–"; }
.mm-faq-item p { margin: 0 0 .85rem 1.75rem; color: var(--mm-muted); }
.mm-precos table { margin: 0; }
.mm-precos td { padding-block: .75rem; vertical-align: middle; }
.mm-precos td:last-child { white-space: normal; min-width: 7rem; text-align: right; }
.mm-discovery { padding: 0; font-size: inherit; }

.mm-footer { margin-top: var(--mm-space-4); border-top: 1px solid var(--mm-border); background: var(--mm-surface); font-size: .875rem; color: var(--mm-muted); }
.mm-footer > .mm-workspace { padding-block: 2rem .5rem; }
.mm-footer-grid { display: grid; gap: 1.5rem 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
.mm-footer-grid h2 { margin: 0 0 .6rem; font-size: .8125rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--mm-text); }
.mm-footer-grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.mm-footer-grid p { margin: 0 0 .5rem; }
.mm-footer a, .mm-footer .btn-link { color: var(--mm-text); text-decoration: none; padding: 0; border: 0; font: inherit; font-weight: 500; vertical-align: baseline; }
.mm-footer a:hover, .mm-footer .btn-link:hover { text-decoration: underline; text-underline-offset: .2em; color: var(--mm-accent-text); }
.mm-footer .mm-nav, .mm-footer .mm-discovery { gap: .35rem 1rem; }
.mm-footer-grid .mm-nav { flex-direction: column; align-items: flex-start; gap: .4rem; }
.mm-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--mm-border); }
.mm-footer details summary { cursor: pointer; }
.mm-footer > #mm-statusline { max-width: none; margin-inline: auto; padding: .25rem var(--mm-gutter) 1rem !important; font-size: .8125rem !important; }

.mm-reference-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 1px solid var(--mm-border); padding-block: 1rem; }
.mm-reference .mm-bloco { padding-block: 2rem; }
.mm-reference pre { padding: 1rem; border: 1px solid var(--mm-border); background: var(--mm-surface); border-radius: var(--mm-radius); overflow: auto; font-size: .875rem; }
/* Apenas composição: campos e botões das referências também são Bootstrap. */
.mm-form p { display: grid; gap: .35rem; margin: 0 0 1.1rem; }
.mm-form label { font-weight: 600; }
.mm-form select[multiple] { min-height: 7rem; }
.mm-form textarea { min-height: 8rem; resize: vertical; }
.mm-form .cf-turnstile { margin: 0 0 1.1rem; }
.mm-reference footer { padding-block: 1.5rem; border-top: 1px solid var(--mm-border); }

@media (min-width: 768px) {
  .mm-grid-2, .mm-grid-3, .mm-split-even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .mm-opening:has(.mm-guide > p), .mm-opening:has(details[open]) { grid-template-columns: minmax(0, 3fr) minmax(18rem, 2fr); }
  .mm-opening:has(.mm-guide > p) .mm-guide, .mm-opening:has(details[open]) .mm-guide { padding-inline-start: 1.25rem; border-inline-start: 1px solid var(--mm-border); }
  .mm-hero { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 2.5rem; }
  .mm-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mm-split { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .mm-split-aside { grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
  .mm-opening { padding-block: 1rem; gap: .75rem; }
  .mm-hero, .mm-intro { padding-top: 1.5rem; }
  .mm-panel { --mm-panel-pad: 1rem; }
  .mm-panel-flush > .mm-panel-head, .mm-panel-flush > .mm-panel-body, .mm-panel-flush .list-group-flush .list-group-item, .mm-panel-flush .mm-rows > * { padding-inline: 1rem; }
  .mm-kpi-value, .mm-kpi dd { font-size: 1.375rem; }
  .mm-topbar > .mm-workspace { min-height: 3rem; }
  .mm-topnav:not(.nav) > a, .mm-topnav:not(.nav) > button, .mm-topnav:not(.nav) .dropdown-toggle { flex-shrink: 0; white-space: nowrap; }
  .mm-topnav:not(.nav) .mm-oferta { position: sticky; right: 0; background: var(--mm-surface); box-shadow: -10px 0 8px -6px rgb(0 0 0 / .18); }
  .mm-tools .btn > span { display: none; }
  .mm-opening:has(.mm-guide > p) .mm-guide, .mm-opening:has(details[open]) .mm-guide { padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid var(--mm-border); }
  .mm-tools .btn { padding-inline: .6rem; }
  .mm-task { margin-block: 1rem; }
  .mm-human .mm-precos td:last-child { min-width: 5.5rem; }
}
