@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* =========================================================
   AC AUTO PRO 1.33.0 — DESIGN SYSTEM / TYPOGRAPHY
   Escala oficial:
   - Texto corrente: 16px
   - Texto importante: nunca abaixo de 14px
   - H1: 32–40px
   - H2: 24–28px
   - Legendas / menus: 12–14px
   ========================================================= */
:root {
  --ac-font: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ac-navy: #071739;
  --ac-ink: #031722;
  --ac-steel: #9EAABA;
  --ac-copper: #B8845B;
  --ac-white: #ffffff;
  --ac-text: #eef4f8;
  --ac-muted: #9EAABA;
  --ac-line: rgba(158,170,186,.22);
  --ac-surface: #071739;
  --ac-surface-2: #0b2143;
  --ac-surface-3: #10284d;
  --ac-radius-sm: 10px;
  --ac-radius-md: 14px;
  --ac-radius-lg: 18px;
  --ac-space-1: 4px;
  --ac-space-2: 8px;
  --ac-space-3: 12px;
  --ac-space-4: 16px;
  --ac-space-5: 24px;
  --ac-space-6: 32px;
  --ac-shadow: 0 18px 44px rgba(3,23,34,.18);
}

html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { font-family: var(--ac-font); font-size: 1rem; line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: var(--ac-font); }

/* Títulos oficiais */
h1 { font-size: clamp(2rem, 3vw, 2.5rem); line-height: 1.12; letter-spacing: -.025em; }
h2 { font-size: clamp(1.5rem, 2.2vw, 1.75rem); line-height: 1.2; letter-spacing: -.015em; }
h3 { font-size: 1.25rem; line-height: 1.3; }
h4 { font-size: 1.125rem; line-height: 1.35; }
p { font-size: 1rem; line-height: 1.6; }
small, .small { font-size: .8125rem; line-height: 1.45; }

/* Formulários e ações */
label { font-size: .875rem; line-height: 1.4; font-weight: 600; }
input, select, textarea { font-size: .875rem; line-height: 1.4; min-height: 44px; }
textarea { min-height: 96px; }
button, .btn, a.btn { font-size: .875rem; line-height: 1.2; min-height: 44px; }

:focus-visible {
  outline: 3px solid rgba(184,132,91,.42);
  outline-offset: 2px;
}

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

/* =========================================================
   APLICAÇÃO DA OFICINA / SUPER ADMIN
   ========================================================= */
body.ac-app {
  --bg: var(--ac-ink);
  --surface: var(--ac-navy);
  --surface2: var(--ac-surface-2);
  --line: var(--ac-line);
  --text: var(--ac-text);
  --muted: var(--ac-muted);
  --accent: var(--ac-copper);
  background: var(--ac-ink);
  color: var(--ac-text);
}

body.ac-app .auth-copy h1 { font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.08; }
body.ac-app .auth-copy p { font-size: 1rem; line-height: 1.65; }
body.ac-app .topbar { min-height: 78px; padding: 16px 24px; }
body.ac-app .topbar h1 { font-size: 2rem; line-height: 1.15; }
body.ac-app .topbar p { font-size: .8125rem; line-height: 1.45; }
body.ac-app .page-content { padding: 24px; }
body.ac-app .card,
body.ac-app .auth-card,
body.ac-app .setup-card { border-radius: var(--ac-radius-lg); }
body.ac-app .card { padding: 24px; }
body.ac-app .nav { gap: 6px; }
body.ac-app .nav button { min-height: 44px; font-size: .875rem; line-height: 1.25; }
body.ac-app .nav button b { font-size: .875rem; font-weight: 650; }
body.ac-app .nav .nav-item > span { font-size: 1rem; }
body.ac-app .sidebar-foot small,
body.ac-app .sidebar-foot span,
body.ac-app .brand span { font-size: .8125rem; }
body.ac-app .eyebrow,
body.ac-app .admin-nav-label { font-size: .75rem; line-height: 1.35; letter-spacing: .10em; }
body.ac-app .metric-label,
body.ac-app .metric-note,
body.ac-app .quick-card span,
body.ac-app .spec-field span,
body.ac-app .platform-metric span,
body.ac-app .platform-metric small,
body.ac-app .muted.small,
body.ac-app .small.muted { font-size: .8125rem; line-height: 1.45; }
body.ac-app .metric-value,
body.ac-app .platform-metric strong { font-size: 1.75rem; line-height: 1.15; }
body.ac-app .table th { font-size: .75rem; line-height: 1.35; font-weight: 750; letter-spacing: .035em; }
body.ac-app .table td { font-size: .875rem; line-height: 1.45; }
body.ac-app .badge,
body.ac-app [class*="badge-"] { font-size: .75rem; line-height: 1.25; }
body.ac-app .btn,
body.ac-app .input,
body.ac-app input,
body.ac-app select,
body.ac-app textarea { font-size: .875rem; }
body.ac-app .btn-primary { background: var(--ac-copper); color: var(--ac-ink); }
body.ac-app .btn-primary:hover { filter: brightness(1.06); }
body.ac-app .brand-icon { background: var(--ac-copper); color: var(--ac-ink); }
body.ac-app .eyebrow { color: #d9ad87; }
body.ac-app .sidebar { background: #06152f; border-color: var(--ac-line); }
body.ac-app .nav button.active,
body.ac-app .nav button:hover { background: var(--ac-surface-2); }
body.ac-app .icon-btn { min-width: 44px; min-height: 44px; }
body.ac-app .toast { font-size: .875rem; line-height: 1.45; }
body.ac-app .page-content p { font-size: 1rem; line-height: 1.6; }
body.ac-app .page-content h1 { font-size: clamp(2rem, 3vw, 2.5rem); }
body.ac-app .page-content h2 { font-size: clamp(1.5rem, 2.2vw, 1.75rem); }
body.ac-app .card-title-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
body.ac-app .toolbar, body.ac-app .form-actions { gap:12px; flex-wrap:wrap; }
body.ac-app .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
body.ac-app .table th, body.ac-app .table td { vertical-align:middle; }

/* Evita microtipografia nos módulos acumulados ao longo das versões. */
body.ac-app :is(
  .form-help,.help,.hint,.helper,.description,.caption,.meta,.subtitle,
  .cnpj-lookup-status,.cep-lookup-status,.billing-plan-modules-head span,
  .plan-lock-indicator,.platform-section-tabs button,.platform-modal p,
  .platform-modal small,.supplier-admin-meta span,.product-subtitle,
  .history-meta,.portal-meta,.component-meta,.ecosystem-meta,
  .notification-item small,.notification-summary small
) { font-size: .8125rem; line-height: 1.45; }

/* =========================================================
   PORTAL DO FORNECEDOR
   ========================================================= */
body.ac-supplier-portal {
  --cyan: var(--ac-copper);
  --cyan2: #d9ad87;
  --bg: var(--ac-ink);
  --panel: var(--ac-navy);
  --panel2: var(--ac-surface-2);
  --line: var(--ac-line);
  --muted: var(--ac-steel);
  font-size: 1rem;
}
body.ac-supplier-portal .sp-auth-brand h1 { font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.08; }
body.ac-supplier-portal .sp-auth-brand p { font-size: 1rem; }
body.ac-supplier-portal .sp-kicker { font-size: .75rem; }
body.ac-supplier-portal .sp-form label { font-size: .875rem; }
body.ac-supplier-portal .sp-form label small,
body.ac-supplier-portal .sp-help,
body.ac-supplier-portal .sp-muted,
body.ac-supplier-portal .sp-title-row p,
body.ac-supplier-portal .sp-logo span,
body.ac-supplier-portal .sp-stat span { font-size: .8125rem; line-height: 1.45; }
body.ac-supplier-portal .sp-btn,
body.ac-supplier-portal .sp-input,
body.ac-supplier-portal input,
body.ac-supplier-portal select,
body.ac-supplier-portal textarea { font-size: .875rem; min-height: 44px; }
body.ac-supplier-portal .sp-btn-primary { background: var(--ac-copper); color: var(--ac-ink); }
body.ac-supplier-portal .sp-sidebar nav button,
body.ac-supplier-portal .sp-logout { min-height: 44px; font-size: .875rem; }
body.ac-supplier-portal .sp-sidebar nav button.active { box-shadow: inset 3px 0 0 var(--ac-copper); }
body.ac-supplier-portal .sp-header h2 { font-size: 1.75rem; }
body.ac-supplier-portal .sp-title-row h3 { font-size: 1.25rem; }
body.ac-supplier-portal .sp-table th { font-size: .75rem; }
body.ac-supplier-portal .sp-table td { font-size: .875rem; }
body.ac-supplier-portal .sp-badge,
body.ac-supplier-portal .sp-status { font-size: .75rem; }
body.ac-supplier-portal .sp-close { width: 44px; height: 44px; }
body.ac-supplier-portal .sp-content p { font-size: 1rem; line-height: 1.6; }
body.ac-supplier-portal .sp-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }

/* =========================================================
   PORTAL DO ORGANIZADOR
   ========================================================= */
body.ac-organizer-portal {
  --cyan: var(--ac-copper);
  --cyan2: #d9ad87;
  --bg: var(--ac-ink);
  --panel: var(--ac-navy);
  --panel2: var(--ac-surface-2);
  --line: var(--ac-line);
  --muted: var(--ac-steel);
  font-size: 1rem;
}
body.ac-organizer-portal .op-auth-brand h1 { font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.08; }
body.ac-organizer-portal .op-auth-brand p { font-size: 1rem; }
body.ac-organizer-portal .op-kicker { font-size: .75rem; }
body.ac-organizer-portal .op-form label { font-size: .875rem; }
body.ac-organizer-portal .op-form label small,
body.ac-organizer-portal .op-help,
body.ac-organizer-portal .op-muted,
body.ac-organizer-portal .op-title-row p,
body.ac-organizer-portal .op-logo span,
body.ac-organizer-portal .op-stat span { font-size: .8125rem; line-height: 1.45; }
body.ac-organizer-portal .op-btn,
body.ac-organizer-portal .op-input,
body.ac-organizer-portal input,
body.ac-organizer-portal select,
body.ac-organizer-portal textarea { font-size: .875rem; min-height: 44px; }
body.ac-organizer-portal .op-btn-primary { background: var(--ac-copper); color: var(--ac-ink); }
body.ac-organizer-portal .op-sidebar nav button,
body.ac-organizer-portal .op-logout { min-height: 44px; font-size: .875rem; }
body.ac-organizer-portal .op-sidebar nav button.active { box-shadow: inset 3px 0 0 var(--ac-copper); }
body.ac-organizer-portal .op-header h2 { font-size: 1.75rem; }
body.ac-organizer-portal .op-title-row h3 { font-size: 1.25rem; }
body.ac-organizer-portal .op-table th { font-size: .75rem; }
body.ac-organizer-portal .op-table td { font-size: .875rem; }
body.ac-organizer-portal .op-badge,
body.ac-organizer-portal .op-status { font-size: .75rem; }
body.ac-organizer-portal .op-close { width: 44px; height: 44px; }
body.ac-organizer-portal .op-content p { font-size: 1rem; line-height: 1.6; }
body.ac-organizer-portal .op-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }

/* =========================================================
   LANDING PAGE
   ========================================================= */
body.ac-landing { font-size: 1rem; }
body.ac-landing .lp-hero h1 { font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.08; }
body.ac-landing .lp-section-head h2,
body.ac-landing .lp-tech-grid h2,
body.ac-landing .lp-supplier-grid h2,
body.ac-landing .lp-final-box h2 { font-size: clamp(1.5rem, 3vw, 1.75rem); line-height: 1.18; }
body.ac-landing .lp-hero-copy > p,
body.ac-landing .lp-section-head p,
body.ac-landing .lp-tech-grid > div > p,
body.ac-landing .lp-supplier-grid > div > p,
body.ac-landing .lp-feature-grid p { font-size: 1rem; line-height: 1.6; }
body.ac-landing .lp-nav a,
body.ac-landing .lp-btn,
body.ac-landing .lp-text-link,
body.ac-landing .lp-simple-list li { font-size: .875rem; }
body.ac-landing .lp-kicker,
body.ac-landing .lp-card-badge,
body.ac-landing .lp-mini-label,
body.ac-landing .lp-tech-card-head,
body.ac-landing .lp-plan-tag { font-size: .75rem; }
body.ac-landing .lp-feature-grid h3,
body.ac-landing .lp-supplier-card h3,
body.ac-landing .lp-plan h3 { font-size: 1.25rem; }
body.ac-landing .lp-preview-sub,
body.ac-landing .lp-spec-grid span,
body.ac-landing .lp-spec-grid strong,
body.ac-landing .lp-preview-status span,
body.ac-landing .lp-preview-card b,
body.ac-landing .lp-preview-card small,
body.ac-landing .lp-check-list span,
body.ac-landing .lp-tech-row,
body.ac-landing .lp-tech-source,
body.ac-landing .lp-supplier-flow b,
body.ac-landing .lp-supplier-flow small,
body.ac-landing .lp-plan-desc,
body.ac-landing .lp-price span,
body.ac-landing .lp-plan-modules span,
body.ac-landing .lp-footer-grid strong,
body.ac-landing .lp-footer-grid a,
body.ac-landing .lp-footer-grid span,
body.ac-landing .lp-footer-bottom { font-size: .8125rem; line-height: 1.45; }
body.ac-landing .lp-btn { min-height: 44px; }

/* O cobre é decorativo; microtexto usa tons de maior contraste. */
body.ac-landing .lp-kicker,
body.ac-landing .lp-card-badge { color: #7a4e2e; }
body.ac-landing .lp-section-dark .lp-kicker { color: #e0ba9a; }

/* =========================================================
   PORTAL PÚBLICO DO CLIENTE / PROMOÇÕES
   ========================================================= */
body.ac-customer-portal,
body.ac-promo-portal { font-family: var(--ac-font); font-size: 1rem; }
body.ac-customer-portal h1,
body.ac-promo-portal h1 { font-size: clamp(2rem, 4vw, 2.5rem); }
body.ac-customer-portal h2,
body.ac-promo-portal h2 { font-size: clamp(1.5rem, 3vw, 1.75rem); }
body.ac-customer-portal p,
body.ac-promo-portal p { font-size: 1rem; }
body.ac-customer-portal small,
body.ac-promo-portal small,
body.ac-customer-portal .muted,
body.ac-promo-portal .muted { font-size: .8125rem; }

@media (max-width: 800px) {
  body.ac-app .topbar { min-height: 70px; padding: 12px 16px; }
  body.ac-app .topbar h1 { font-size: 1.75rem; }
  body.ac-app .page-content { padding: 16px; }
  body.ac-app .card { padding: 18px; }
}

/* Ajustes finais dos portais públicos: captions nunca abaixo de 12px. */
body.ac-customer-portal .ad-copy > span,
body.ac-promo-portal .eyebrow { font-size: .75rem; line-height: 1.35; }


/* =========================================================
   AC AUTO PRO 1.34.0 — COMPONENTES COMPARTILHADOS
   ========================================================= */
html { text-size-adjust: 100%; }
body.ac-app .muted { line-height: 1.45; }

/* Ícones SVG consistentes no menu principal. */
.ac-icon-sprite { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
body.ac-app .nav-icon { width:22px; height:22px; display:inline-grid; place-items:center; flex:0 0 22px; }
body.ac-app .nav-icon svg { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.ac-app .sidebar.is-collapsed .nav-icon { margin-inline:auto; }

/* Botões, campos e badges passam por uma mesma camada visual. */
body.ac-app :is(.btn, .icon-btn) { border-radius:var(--ac-radius-sm); font-weight:700; }
body.ac-app :is(input, select, textarea) { border-radius:var(--ac-radius-sm); }
body.ac-app :is(.badge, [class*="badge-"]) { display:inline-flex; align-items:center; gap:6px; min-height:24px; padding:4px 8px; border-radius:999px; font-weight:700; }

/* Modais: comportamento visual compartilhado sem alterar larguras específicas dos módulos. */
body.ac-app :is(
  .platform-modal-overlay,.agenda-modal-overlay,.components-modal-overlay,.finance-modal-overlay,
  .os-item-modal-overlay,.tech2-modal-overlay,.ac-tech-modal-overlay,.ac-ad-popup-overlay
) { backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
body.ac-app :is(
  .platform-modal,.agenda-modal,.components-modal,.finance-modal,.os-item-modal,.tech2-modal,.ac-tech-modal,.ac-ad-popup
) { max-height:min(92vh, 980px); border-radius:var(--ac-radius-lg); box-shadow:0 28px 80px rgba(0,0,0,.32); }
body.ac-app :is(
  .platform-modal-head,.agenda-modal-head,.components-modal-head,.tech2-modal-head,.ac-tech-modal-head
) { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
body.ac-app :is(
  .platform-modal-actions,.agenda-modal-actions,.tech2-modal-actions,.ac-tech-modal-actions
) { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
body.ac-app :is(
  .platform-modal-head,.agenda-modal-head,.components-modal-head,.tech2-modal-head,.ac-tech-modal-head
) button[class*="close"],
body.ac-app [class*="modal"] button[aria-label="Fechar"] { min-width:44px; min-height:44px; }

/* Regiões tabulares: rolagem acessível e foco visível. */
body.ac-app :is(.table-wrap,.table-scroll,.table-responsive,.platform-table-wrap) {
  overflow:auto;
  max-width:100%;
  scrollbar-gutter:stable;
  border-radius:var(--ac-radius-md);
}
body.ac-app :is(.table-wrap,.table-scroll,.table-responsive,.platform-table-wrap):focus-visible {
  outline:3px solid rgba(184,132,91,.42);
  outline-offset:2px;
}
body.ac-app .table { width:100%; }

/* Cabeçalhos e ações com alinhamento previsível em todas as telas. */
body.ac-app :is(.card-title-row,.section-head,.platform-section-head) { align-items:flex-start; }
body.ac-app :is(.toolbar,.form-actions,.table-actions) > :is(.btn,button) { flex:0 0 auto; }
@media (max-width: 680px) {
  body.ac-app .page-content { padding:16px; }
  body.ac-app .card { padding:18px; }
  body.ac-app :is(.toolbar,.form-actions) > .btn { min-width:0; }
}

/* Normalização histórica consolidada: mantém captions antigos dentro da escala 12–14px. */
/* ---------- Correção automática de microtipografia histórica ---------- */

.purchase-order-progress-grid small,
.agenda-status,
.agenda-communication-history span,
.dashboard-operation-metric > small,
.dashboard-appointment-status > span,
.dashboard-appointment-status small,
.dashboard-stock-item span,
.dashboard-stock-item small,
.dashboard-operation-footnote,
.report-metric > small,
.report-definition-note,
.report-revenue-column > span,
.report-payment-method span,
.report-footnote,
.ac-tech-summary-grid span,
.ac-tech-before-after span,
.ac-tech-before-after small,
.ac-tech-tags-wrap > div > span,
.ac-tech-tags span,
.ac-tech-check-grid label,
.history-ac-overview-grid span,
.history-ac-spec-grid span,
.history-ac-overview-foot span,
.history-ac-measurements > div > span,
.history-ac-measurements small,
.history-ac-tag-block > span,
.history-ac-notes > span,
.history-ac-tags span,
.history-ac-source,
.history-ac-missing,
.tech2-import-note,
.tech2-scope-note,
.tech2-generation-warning,
.tech2-conflict-label,
.tech2-source-mini,
.tech2-pagination span,
.tech2-conflict-warning span,
.tech2-detail-grid span,
.tech2-source-box,
.tech2-notes-box,
.tech2-source-item span,
.tech2-source-item small,
.tech2-generation-list span,
.tech2-correction-history-item small,
.tech2-correction-history-item p,
.tech2-oil-rule-source,
.tech2-oil-rule-card-main > span,
.tech2-oil-rule-card-main > small,
.tech2-oil-rule-card-main > p,
.tech2-classification-spec > span,
.tech2-classify-source-grid span,
.tech2-classify-step-head small,
.tech2-classify-source-oil span,
.tech2-classify-source-oil small,
.tech2-validation-meta span,
.tech2-validation-data-grid article > span,
.tech2-validation-data-grid article > small,
.tech2-validation-source-list article span,
.tech2-validation-source-list article small,
.tech2-validation-rule-body span,
.tech2-validation-rule-body small,
.tech2-result-generation,
.tech2-detail-generation,
.tech2-result-ac-config,
.tech2-detail-ac-config,
.tech2-result-meta,
.tech2-verification-box span,
.tech2-verification-box small,
.tech2-source-oil-note span,
.tech2-source-oil-note small,
.tech2-oil-sum-warning span,
.tech2-source-card span,
.tech2-source-card small,
.tech2-source-card p,
.tech2-oil-replenishment-head span,
.tech2-oil-replenishment-card > small,
.tech2-oil-replenishment-card > p {
  font-size:12px;
}

.finance-cmv-order-values span,
.product-cmv-card-values span,
.product-cmv-tax-note,
.product-cmv-result-grid span,
.product-cmv-result-grid small,
.product-cmv-comparison-card span,
.fiscal-official-grid article > span,
.fiscal-rule-rates span,
.fiscal-field-help,
.fiscal-product-fields-mini span,
.fiscal-product-readiness span,
.fiscal-order-meta span,
.fiscal-preview-summary span,
.fiscal-item-warnings span,
.fiscal-preview-item-rates span,
.fiscal-preview-item-rates small,
.fiscal-legal-note,
.fiscal-nbs-selected > small,
.fiscal-nbs-result > small,
.purchase-card-values span,
.purchase-quick-supplier span,
.purchase-item-product small,
.purchase-item-line-total span,
.purchase-item-line-total small,
.purchase-payable-status span,
.purchase-payable-status small,
.purchase-nfe-banner span,
.nfe-review-summary span,
.nfe-source-card span,
.nfe-source-card small,
.nfe-item-source > span,
.nfe-item-source > small,
.nfe-item-link small,
.nfe-installment-grid span,
.nfe-installment-grid small,
.nfe-cost-separation span,
.nfe-cost-separation small,
.nfe-duplicate-card span,
.purchase-return-origin span,
.purchase-return-item-main > span,
.purchase-return-item-main > small,
.purchase-return-stock > span,
.purchase-return-stock > small,
.purchase-return-item-total > span,
.purchase-return-item-total > small,
.purchase-return-finance-info span,
.purchase-return-finance-info small,
.purchase-return-financial-result span,
.purchase-return-card-values span,
.supplier-credit-card span,
.supplier-credit-card small,
.purchase-order-product small,
.purchase-order-item-total span,
.purchase-order-total-card span,
.purchase-order-total-card small,
.purchase-order-contact span,
.purchase-order-converted span,
.purchase-order-card-values span,
.purchase-order-card-values small,
.replenishment-product > span,
.replenishment-product > small,
.replenishment-stock > span,
.replenishment-supplier > span,
.replenishment-supplier > small,
.replenishment-total > span,
.nfe-order-candidate-main > span,
.nfe-order-candidate-main > small,
.nfe-order-candidate-value > span,
.nfe-order-candidate-value > small,
.nfe-order-candidate.no-link span,
.nfe-order-comparison-head span,
.nfe-order-comparison-row span,
.nfe-order-comparison-row small,
.purchase-order-progress-head span,
.purchase-order-progress-grid span,
.purchase-order-linked-row > span,
.purchase-order-linked-row > small,
.purchase-order-closed-summary span,
.purchase-order-closed-summary small,
.service-quote-version small,
.service-quote-status-meta span,
.service-quote-item-main small,
.service-quote-item-total span,
.service-quote-totals span,
.service-quote-decision-record span,
.service-quote-decision-record small,
.os-document-center-entry-grid span,
.os-document-center-toolbar > div:first-child span,
.os-document-group-title span,
.os-document-main span,
.os-document-main small,
.client-document-many-item small,
.os-delivery-completed-summary span,
.os-delivery-readiness-inline span,
.service-delivery-readiness small,
.service-delivery-section-head > div > span,
.service-delivery-payment-grid span,
.service-delivery-completed-grid span,
.service-delivery-signature-wrap > span,
.agenda-status-filter,
.agenda-metrics span,
.agenda-day-head strong,
.agenda-empty-day,
.agenda-item-time span,
.agenda-item-main small,
.agenda-linked-order,
.agenda-lock-note,
.agenda-form-helper,
.agenda-reminder-panel small,
.agenda-message-warning span,
.dashboard-operation-metric > span,
.dashboard-appointment-time span,
.dashboard-appointment-main span,
.dashboard-appointment-main small,
.dashboard-work-item > div > span,
.dashboard-work-item > div > small,
.dashboard-work-open,
.report-date-fields label,
.report-metric > span,
.report-communication-summary span,
.ac-tech-guidance,
.ac-tech-source-warning,
.ac-tech-no-universal,
.ac-tech-completed-note,
.ac-tech-unavailable,
.ac-tech-empty span,
.ac-tech-form-grid label,
.ac-tech-pressure-unit,
.ac-tech-notes-label,
.history-ac-overview-empty,
.history-ac-measurements strong,
.history-ac-notes p,
.tech2-tab,
.tech2-section-head p,
.tech2-filter-grid label,
.tech2-generation-selectors label,
.tech2-inner-card label,
.tech2-review-notes,
.tech2-conflict-warning strong,
.tech2-detail-grid strong,
.tech2-source-box > strong,
.tech2-source-item strong,
.tech2-generation-list strong,
.tech2-legacy-box span,
.tech2-correction-applied span,
.tech2-correction-applied small,
.tech2-correction-applied p,
.tech2-correction-rule strong,
.tech2-correction-rule span,
.tech2-correction-grid label,
.tech2-correction-history-item strong,
.tech2-oil-rule-entry p,
.tech2-oil-rule-warning strong,
.tech2-oil-rule-bottom-note strong,
.tech2-oil-rule-warning span,
.tech2-oil-rule-bottom-note span,
.tech2-oil-rule-grid label,
.tech2-classify-rule span,
.tech2-classify-conflict span,
.tech2-classify-final-warning span,
.tech2-classification-applied span,
.tech2-classification-applied small,
.tech2-classification-applied p,
.tech2-classify-source-grid strong,
.tech2-classify-step-head > span,
.tech2-classify-grid label,
.tech2-classify-existing-spec label,
.tech2-classify-ack,
.tech2-validation-warning strong,
.tech2-validation-warning span,
.tech2-validation-path span,
.tech2-validation-source-list article strong,
.tech2-validation-reference,
.tech2-validation-notes,
.tech2-validation-rule-body strong,
.tech2-vehicle-filter-grid label,
.tech2-consult-start span,
.tech2-source-oil-note strong,
.tech2-oil-sum-warning strong,
.tech2-source-card strong {
  font-size:12px;
}

.user-tech-source span,
.oil-equivalent-card > span,
.signal-badge,
.electrical-detail-grid > div > span,
.component-user-field > span,
.component-user-top > div > span,
.checklist-id-box span,
.estimate-head,
.estimate-total-box span,
.template-choice-category,
.dynamic-status-card small,
.os-status-card span,
.os-number span,
.timeline-summary span,
.timeline-checklist-row span,
.smart-alert-title span,
.smart-alert-main small,
.notification-count,
.notification-item-title span,
.notification-item-main small,
.product-values span,
.os-product-search-help,
.os-product-result-main span,
.os-product-result-meta span,
.restock-selected span,
.stock-product-filter span,
.stock-history-order,
.stock-history-values > span,
.os-payment-summary span,
.os-payment-item > div:first-child > span,
.os-payment-item > div:first-child > small,
.os-payment-modal-summary span,
.finance-attention-item span,
.finance-flow-main > span,
.finance-flow-main > small,
.finance-account-main > span,
.finance-account-main > small,
.finance-account-values span,
.finance-pay-summary span,
.finance-period-summary span,
.finance-breakdown-list span,
.finance-category-item span,
.finance-field-help,
.finance-supplier-result span,
.finance-supplier-empty,
.finance-recurring-note,
.finance-recurrence-main > span,
.finance-recurrence-main > small,
.finance-recurrence-value span,
.product-cost-help,
.stock-cost-preview span,
.stock-cost-line,
.finance-cmv-warning,
.finance-cmv-summary span,
.finance-cmv-info span,
.finance-cmv-incomplete > div span,
.finance-cmv-incomplete summary,
.finance-cmv-order-main > span,
.finance-cmv-order-main > small,
.finance-cmv-product span,
.product-cmv-card-main > span,
.product-cmv-card-main > small,
.product-cmv-current span,
.product-cmv-main-result span,
.product-cmv-main-result small,
.product-cmv-ideal-price span,
.product-cmv-ideal-price small,
.product-cmv-history-warning,
.product-cmv-profile-note,
.product-cmv-history-row span,
.product-cmv-history-row small,
.product-cmv-profile-card span,
.fiscal-hero-badge span,
.fiscal-config-summary span,
.fiscal-reference-rate span,
.fiscal-reference-note span,
.fiscal-official-grid article > p,
.fiscal-preview-recent span,
.fiscal-warning-box,
.fiscal-simples-callout p,
.fiscal-rule-explain span,
.fiscal-rule-main > span,
.fiscal-rule-main > small,
.fiscal-product-card > div:first-child > span,
.fiscal-product-fields-mini strong,
.fiscal-inherited-rule,
.fiscal-order-card > div:first-child > span,
.fiscal-order-card > div:first-child > small,
.fiscal-preview-warning,
.fiscal-preview-ready,
.fiscal-preview-item-main > span,
.fiscal-preview-item-main > small,
.fiscal-nbs-selected > span,
.fiscal-nbs-source span,
.fiscal-nbs-result > span,
.fiscal-nbs-result > strong,
.fiscal-catalog-status-main > span,
.fiscal-catalog-status-meta > span,
.fiscal-catalog-auto-note,
.purchase-card-main > span,
.purchase-card-main > small,
.purchase-card-values strong,
.purchase-total-card span,
.purchase-total-card small,
.purchase-received-note span,
.purchase-cancelled-note span,
.supplier-card > div:first-child > span,
.supplier-card > div:first-child > small,
.nfe-import-security span,
.nfe-warning-list > div,
.return-purchase-option > span,
.return-purchase-option > small,
.purchase-return-selected-count,
.purchase-return-safety span,
.purchase-return-card-main > span,
.purchase-return-card-main > small,
.purchase-return-card-values strong,
.purchase-order-card-main > span,
.purchase-order-card-main > small,
.replenishment-stock strong,
.replenishment-total strong,
.replenishment-supplier strong,
.nfe-reconciliation-state,
.nfe-reconciliation-loading,
.nfe-reconciliation-close-warning span,
.nfe-reconciliation-partial-ready span,
.purchase-order-closed-summary strong,
.os-quote-summary span,
.os-quote-summary small,
.os-quote-empty span,
.os-quote-alert,
.service-quote-version-title span,
.os-document-icon,
.os-document-center-note span,
.client-document-many-item > span,
.service-delivery-readiness > div > span,
.service-delivery-alert,
.service-delivery-radio span,
.service-delivery-check span,
.service-delivery-empty,
.service-delivery-acceptance-text,
.service-delivery-success span,
.service-delivery-success small,
.agenda-page-head p,
.agenda-customer,
.dashboard-operation-head p,
.dashboard-section-count,
.dashboard-appointment-main strong,
.dashboard-work-item > div > strong,
.dashboard-stock-item strong,
.report-page-head p,
.report-count,
.report-payment-method strong,
.ac-tech-summary-grid strong,
.ac-tech-before-after strong,
.ac-tech-empty strong,
.ac-tech-check-group legend,
.history-ac-overview-grid strong,
.history-ac-spec-grid strong,
.history-ac-record-head strong,
.tech2-legacy-box strong,
.tech2-oil-rule-entry strong,
.tech2-oil-rule-title strong,
.tech2-classification-spec > strong,
.tech2-classify-step-head strong,
.tech2-classify-source-oil strong,
.tech2-validation-path strong,
.tech2-validation-data-grid article > strong,
.tech2-consult-copy p,
.tech2-verification-box strong,
.tech2-oil-replenishment-head strong {
  font-size: 12px;
}

.spec-field span,
.tech-search-hints span,
.tech-result-verified,
.tech-result-summary span,
.tech-detail-status,
.tech-user-section-title p,
.tech-data-card span,
.oil-equivalent-card > p,
.electrical-user-head p,
.technical-line-list span,
.tech-note strong,
.tech-note span,
.mini-verified,
.component-user-field p,
.tech-disclaimer strong,
.tech-disclaimer span,
.checklist-list-copy > small,
.check-section-title p,
.inspection-item > span,
.inspection-row strong,
.estimate-line-total,
.check-save-bar > div:first-child span,
.template-card-main p,
.template-editor-toolbar span,
.template-options-label textarea,
.template-choice-card p,
.dynamic-choice strong,.dynamic-radio strong,
.dynamic-choice small,.dynamic-radio small,
.dynamic-status-card strong,
.dynamic-simple-field>small,
.input-with-unit>span,
.os-list-main > span,
.os-list-main > small,
.os-info-list span,
.history-vehicle-data span,
.os-info-list strong,
.history-vehicle-data strong,
.os-checklist-card > div:first-child > span,
.os-checklist-card > div:first-child > small,
.history-vehicle-main small,
.timeline-head small,
.timeline-summary p,
.warranty-item-main>span,.warranty-item-main>small,
.warranty-default-note span,
.smart-dashboard-head p,
.smart-summary span,
.smart-alert-icon,
.smart-alert-customer,
.smart-empty span,
.notification-summary span,
.notification-item-icon,
.notification-customer,
.notification-empty span,
.product-card-main > span,
.product-values strong,
.os-budget-item-main > span,
.os-budget-item-main > small,
.os-budget-footer span,
.os-item-preview span,
.os-product-result-meta strong,
.os-product-result-empty,
.restock-selected strong,
.stock-product-filter strong,
.stock-history-main > span,
.stock-history-main > small,
.finance-tab,
.finance-attention-item strong,
.finance-account-values strong,
.finance-breakdown-list strong,
.finance-supplier-result strong,
.finance-cmv-info strong,
.finance-cmv-order-values strong,
.finance-cmv-product strong,
.product-cmv-card-values strong,
.product-cmv-workspace-head p,
.product-cmv-tab,
.input-with-suffix span,
.product-cmv-result-grid strong,
.product-cmv-comparison-card strong,
.product-cmv-history-values strong,
.fiscal-hero-badge strong,
.fiscal-config-summary strong,
.fiscal-reference-rate strong,
.fiscal-official-grid article > strong,
.fiscal-rule-rates strong,
.fiscal-product-readiness strong,
.fiscal-order-meta strong,
.fiscal-preview-summary strong,
.fiscal-preview-item-rates strong,
.fiscal-nbs-selected > strong,
.fiscal-nbs-source strong,
.purchase-item-line-total strong,
.purchase-total-card > strong,
.purchase-nfe-banner strong,
.nfe-review-summary strong,
.nfe-source-card strong,
.purchase-return-origin strong,
.purchase-order-item-total strong,
.purchase-order-card-values strong,
.nfe-order-candidate-value strong,
.purchase-order-progress-grid strong,
.service-quote-head p,
.client-document-share-loading span,
.client-document-share-file span,
.client-document-share-note span,
.client-document-share-help,
.client-document-share-file strong,
.client-document-pdf-icon,
.os-document-center-entry-grid strong,
.os-document-center-head p,
.service-delivery-head p,
.agenda-item-title-row > strong,
.ac-tech-form-section-head h3,
.tech2-inner-card h3,
.tech2-oil-rule-form-head h3,
.tech2-oil-rules-list-section h3,
.tech2-consult-start strong {
  font-size: 12.5px;
}


/* =========================================================
   AC AUTO PRO 1.34.1 — CORREÇÕES DE REGRESSÃO
   - uma única rolagem vertical na aplicação
   - cabeçalho do seletor de checklist sem sobreposição
   - sidebar recolhível controlada pelo núcleo
   ========================================================= */
body.ac-app.app-active {
  overflow: hidden;
}

body.ac-app.app-active #appView.app-shell {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

body.ac-app.app-active .main {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}

body.ac-app.app-active .topbar {
  position: sticky;
  top: 0;
  z-index: 24;
  background: rgba(3, 23, 34, .96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

body.ac-app.app-active .sidebar {
  height: 100vh;
  height: 100dvh;
}

/* =========================================================
   AC AUTO PRO 1.34.6 — MENU LATERAL COM ROLAGEM PRÓPRIA
   - cabeçalho e usuário permanecem acessíveis
   - somente a lista de módulos rola quando ultrapassa a tela
   - elimina a necessidade de reduzir o zoom do navegador
   ========================================================= */
body.ac-app.app-active .sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

body.ac-app.app-active .sidebar-head {
  flex: 0 0 auto;
}

body.ac-app.app-active .sidebar > .nav {
  flex: 1 1 auto;
  min-height: 0;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(158,170,186,.48) transparent;
  padding-right: 5px;
  padding-bottom: 10px;
}

body.ac-app.app-active .sidebar > .nav::-webkit-scrollbar {
  width: 6px;
}

body.ac-app.app-active .sidebar > .nav::-webkit-scrollbar-track {
  background: transparent;
}

body.ac-app.app-active .sidebar > .nav::-webkit-scrollbar-thumb {
  background: rgba(158,170,186,.36);
  border-radius: 999px;
}

body.ac-app.app-active .sidebar > .nav:hover::-webkit-scrollbar-thumb {
  background: rgba(158,170,186,.58);
}

body.ac-app.app-active .sidebar-foot {
  flex: 0 0 auto;
  margin-top: 0;
  padding-top: 12px;
  background: #06152f;
}

/* Mantém todos os itens com tamanho legível; a rolagem resolve alturas menores. */
body.ac-app.app-active .sidebar .nav .nav-item {
  flex-shrink: 0;
}

@media (max-width: 800px) {
  body.ac-app.app-active .sidebar > .nav {
    scrollbar-gutter: auto;
    padding-right: 2px;
  }
}

/* O seletor de modelos não precisa acompanhar a rolagem. */
body.ac-app .check-editor-head.check-template-head {
  position: relative;
  top: auto;
  z-index: 1;
}

body.ac-app .check-template-head + .template-chooser {
  margin-top: 16px;
}

/* O editor do checklist continua sticky, abaixo da topbar fixa. */
@media (min-width: 801px) {
  body.ac-app .check-editor-head:not(.check-template-head) {
    top: 90px;
  }
}

@media (max-width: 800px) {
  body.ac-app.app-active #appView.app-shell,
  body.ac-app.app-active .main {
    height: 100dvh;
  }

  body.ac-app.app-active .sidebar {
    height: 100dvh;
  }
}

/* =========================================================
   AC AUTO PRO 1.34.2 — ORDEM DE SERVIÇO
   - cabeçalho próprio, sem herdar sticky do editor de checklist
   - título não comprime diante das ações
   - conteúdo da OS permanece sempre abaixo do cabeçalho
   ========================================================= */
body.ac-app .check-editor-head.service-order-head {
  position: relative;
  top: auto;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(170px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 14px 18px;
  margin: 0 0 16px;
  padding: 16px 18px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.ac-app .service-order-head > div:nth-child(2) {
  min-width: 170px;
  width: auto;
  flex: none;
}

body.ac-app .service-order-head .eyebrow {
  display: block;
  white-space: nowrap;
}

body.ac-app .service-order-head h2 {
  margin: 4px 0 0;
  font-size: clamp(1.5rem, 2.2vw, 1.75rem);
  line-height: 1.05;
}

body.ac-app .service-order-head .os-head-actions {
  min-width: 0;
  justify-content: flex-end;
  align-content: center;
  gap: 8px;
}

body.ac-app .service-order-head .os-head-actions .btn {
  min-height: 44px;
  padding-inline: 12px;
}

body.ac-app .service-order-head + .os-detail-grid {
  margin-top: 0;
}

@media (max-width: 1180px) {
  body.ac-app .check-editor-head.service-order-head {
    grid-template-columns: auto minmax(170px, 1fr);
  }

  body.ac-app .service-order-head .os-head-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 780px) {
  body.ac-app .check-editor-head.service-order-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
  }

  body.ac-app .service-order-head > #backOsList {
    align-self: flex-start;
  }

  body.ac-app .service-order-head > div:nth-child(2) {
    min-width: 0;
    width: 100%;
    order: initial;
  }

  body.ac-app .service-order-head .os-head-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
  }

  body.ac-app .service-order-head .os-head-actions .badge,
  body.ac-app .service-order-head .os-head-actions .btn {
    width: 100%;
  }
}

@media (max-width: 520px) {
  body.ac-app .service-order-head .os-head-actions {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   AC AUTO PRO 1.34.4 — HISTÓRICO DO VEÍCULO
   - cabeçalho próprio, sem herdar sticky do editor/checklist
   - título do veículo sempre acima dos cards de métricas
   ========================================================= */
body.ac-app .check-editor-head.history-detail-head {
  position: relative;
  top: auto;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px 18px;
  margin: 0 0 16px;
  padding: 16px 18px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.ac-app .history-detail-head > div:nth-child(2) {
  min-width: 0;
}

body.ac-app .history-detail-head .eyebrow {
  display: block;
  white-space: nowrap;
}

body.ac-app .history-detail-head h2 {
  margin: 4px 0 0;
  font-size: clamp(1.5rem, 2.2vw, 1.75rem);
  line-height: 1.05;
}

@media (max-width: 780px) {
  body.ac-app .check-editor-head.history-detail-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
  }

  body.ac-app .history-detail-head > #backHistoryVehicles {
    align-self: flex-start;
  }
}


/* =========================================================
   AC AUTO PRO 1.34.5 — PRODUTOS
   - cabeçalho do formulário sem herdar sticky do checklist
   - evita sobreposição sobre o conteúdo do cadastro
   ========================================================= */
body.ac-app .check-editor-head.product-form-head {
  position: relative;
  top: auto;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px 18px;
  margin: 0 0 16px;
  padding: 16px 18px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.ac-app .product-form-head > div:nth-child(2) {
  min-width: 0;
}

body.ac-app .product-form-head .eyebrow {
  display: block;
  white-space: nowrap;
}

body.ac-app .product-form-head h2 {
  margin: 4px 0 0;
  font-size: clamp(1.5rem, 2.2vw, 1.75rem);
  line-height: 1.05;
}

body.ac-app .product-form-head + .product-form {
  margin-top: 0;
}

@media (max-width: 780px) {
  body.ac-app .check-editor-head.product-form-head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px;
  }

  body.ac-app .product-form-head > #backProducts {
    align-self: flex-start;
  }
}

/* =========================================================
   AC AUTO PRO 1.34.3 — OPÇÕES DO CHECKLIST / DIAGNÓSTICO
   Título principal e descrição em linhas independentes.
   ========================================================= */
.check-section label.dynamic-choice > .dynamic-option-copy,
.check-section label.dynamic-radio > .dynamic-option-copy {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.check-section .dynamic-option-title {
  display: block;
  width: 100%;
  margin: 0;
  color: var(--ac-text, #eef6ff);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.check-section .dynamic-option-help {
  display: block;
  width: 100%;
  margin: 0;
  color: var(--ac-text-muted, #9EAABA);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.check-section label.dynamic-choice,
.check-section label.dynamic-radio {
  align-items: flex-start;
}

.check-section label.dynamic-choice > input,
.check-section label.dynamic-radio > input {
  margin-top: 3px !important;
}
