/* Camada visual compartilhada pelas ferramentas incorporadas da ACE®. */
:root {
  --ace-system-deep: #0b1c2d;
  --ace-system-blue: #112a45;
  --ace-system-gold: #c9a24d;
  --ace-system-gold-dark: #8f6d29;
  --ace-system-offwhite: #f5f7fa;
  --ace-system-graphite: #1f2933;
  --ace-system-muted: #66727d;
  --ace-system-line: rgba(31, 41, 51, .16);
}

html { color-scheme: light; scroll-behavior: smooth; }
body { accent-color: var(--ace-system-gold-dark); }
body, button, input, select, textarea { font-family: Inter, Arial, sans-serif !important; }
h1, h2, h3 { font-family: Cinzel, Georgia, "Times New Roman", serif !important; letter-spacing: -.025em !important; }
h1 { font-size: clamp(1.9rem, 4vw, 3rem) !important; line-height: 1.06 !important; }
h2 { font-size: clamp(1.25rem, 2.5vw, 2rem) !important; line-height: 1.12 !important; }
h3 { line-height: 1.18 !important; }
button, input, select, textarea { border-radius: 4px !important; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #28bcb4 !important; outline-offset: 3px !important; }
::selection { background: rgba(201, 162, 77, .35); color: var(--ace-system-deep); }

/* Remapeia os sistemas cromáticos próprios para a paleta oficial. */
#jornada-clara {
  --ink: var(--ace-system-graphite);
  --muted: var(--ace-system-muted);
  --paper: var(--ace-system-offwhite);
  --white: #fff;
  --green: var(--ace-system-blue);
  --dark: var(--ace-system-deep);
  --lime: var(--ace-system-gold);
}

#ace-preco-venda {
  --ace-bg: var(--ace-system-offwhite);
  --ace-surface: #fff;
  --ace-surface-2: #eef1f4;
  --ace-ink: var(--ace-system-graphite);
  --ace-muted: var(--ace-system-muted);
  --ace-line: #d9dee3;
  --ace-primary: var(--ace-system-blue);
  --ace-primary-2: var(--ace-system-deep);
  --ace-accent: var(--ace-system-gold);
}

#ace-preco-reforma {
  --ace-primary: var(--ace-system-deep);
  --ace-secondary: var(--ace-system-blue);
  --ace-graphite: var(--ace-system-graphite);
  --ace-gold: var(--ace-system-gold);
  --ace-gold-2: #b08d3f;
}

#ace-ponto-equilibrio {
  --ace-navy: var(--ace-system-deep);
  --ace-navy-2: var(--ace-system-blue);
  --ace-gold: var(--ace-system-gold);
  --ace-gold-2: #efd184;
  --ace-ink: var(--ace-system-graphite);
  --ace-muted: var(--ace-system-muted);
  --ace-bg: var(--ace-system-offwhite);
}

#ace-comparador-simples-2027 {
  --ace-navy: var(--ace-system-deep);
  --ace-navy-2: var(--ace-system-blue);
  --ace-teal: var(--ace-system-blue);
  --ace-teal-2: #244c6c;
  --ace-gold: var(--ace-system-gold);
  --ace-cream: var(--ace-system-offwhite);
  --ace-ink: var(--ace-system-graphite);
  --ace-muted: var(--ace-system-muted);
}

#ace-linha-tempo-reforma {
  --ace-primary: var(--ace-system-blue);
  --ace-secondary: #244c6c;
  --ace-accent: var(--ace-system-gold);
  --ace-bg: var(--ace-system-offwhite);
  --ace-text: var(--ace-system-graphite);
  --ace-muted: var(--ace-system-muted);
}

#ace-reforma-diagnostico {
  --ace-cor-principal: var(--ace-system-deep);
  --ace-cor-secundaria: var(--ace-system-blue);
  --ace-cor-destaque: var(--ace-system-gold);
  --ace-cor-destaque-escura: var(--ace-system-gold-dark);
  --ace-fundo: var(--ace-system-offwhite);
  --ace-texto: var(--ace-system-graphite);
  --ace-texto-suave: var(--ace-system-muted);
}

/* Densidade de trabalho: menos rolagem e mais informação por tela. */
.container, .wrap, .ace-shell, .main { max-width: 1240px; margin-inline: auto; }
.card, .quadro, .section, .ace-card, .ace-panel, .jc-card, .ace-section { box-shadow: 0 7px 20px rgba(11, 28, 45, .06) !important; }
.badge, .chip, .ace-chip, .jc-status { border-radius: 999px !important; }

h1 { font-size: clamp(1.65rem, 3vw, 2.25rem) !important; }
h2 { font-size: clamp(1.08rem, 1.8vw, 1.45rem) !important; }
h3 { font-size: clamp(.92rem, 1.35vw, 1.12rem) !important; }

.hero, .ace-hero, .topbar, .ace-topbar, .header, .toolbar {
  min-height: auto !important;
}

.hero, .ace-hero, .topbar, .ace-topbar, .header-inner, .toolbar-inner {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.ace-shell, .container, .wrap, .main { padding-top: 12px !important; padding-bottom: 30px !important; }
.ace-hero { border-radius: 14px !important; }
.ace-eyebrow, .eyebrow, .kicker { margin-top: 12px !important; margin-bottom: 6px !important; }
.ace-subtitle, .subtitle, .sub { margin-top: 6px !important; margin-bottom: 12px !important; line-height: 1.45 !important; }
.ace-meta { gap: 5px !important; margin-top: 9px !important; margin-bottom: 9px !important; }
.ace-chip { padding: 5px 8px !important; font-size: .72rem !important; }
.ace-legal-banner { margin-top: 10px !important; padding: 9px 12px !important; font-size: .76rem !important; line-height: 1.42 !important; }

.grid, .ace-grid, .layout, .main-stack, .side-stack, .reportGrid,
.metric-grid, .summaryGrid, .check-grid, .ace-choice-grid,
.ace-benefit-grid, .ace-composition-grid {
  gap: 10px !important;
}

.quadro, .section, .ace-section, .ace-card, .ace-panel, .jc-card,
.subcard, .ace-subcard, .mini-panel, .sidebarCard, .legal-card,
.result-card, .kpi-box, .ace-kpi, .ace-info-card, .ace-chart-card,
.ace-scenario-card, .ace-result-hero {
  min-height: 0 !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  border-radius: 8px !important;
}

.quadro, .section, .ace-section, .ace-panel, .jc-card,
.subcard, .ace-subcard, .mini-panel, .sidebarCard, .legal-card,
.ace-info-card, .ace-chart-card, .ace-scenario-card, .ace-result-hero {
  padding: clamp(12px, 1.7vw, 18px) !important;
}

.card-head, .section-head, .ace-section-head, .result-head,
.preview-head, .dialog-head, .ace-dialog-head {
  min-height: 0 !important;
  padding: 10px 13px !important;
  margin-bottom: 10px !important;
}

.card-body, .result-body, .ace-card-pad, .ace-dialog-body,
.details-body, .ace-details-body {
  padding: 12px 13px !important;
}

.field, .ace-field, .control, .jc-field { margin-top: 10px !important; margin-bottom: 10px !important; }
.field label, .ace-field label, .control label { margin-bottom: 5px !important; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
  min-height: 38px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.btn, .ace-btn, .button, .action, .step-button,
.tab-btn, .tab, .mode-btn, .ace-step-tab, .ace-plan-tab,
.result-tab, .pill, .check-pill, .radio-pill {
  min-height: 36px !important;
  padding: 7px 11px !important;
}

.tabs, .ace-step-tabs, .result-tabs, .stepper, .step-nav,
.mode-row, .choice-row, .pillrow, .btnrow, .btn-row,
.actions, .ace-actions, .inline-actions, .primaryActions {
  gap: 6px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.ace-step-panel, .step-panel, .tab-panel, .tabcontent, .result-pane {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.kpi, .metric, .ace-kpi, .mini-kpi, .jc-metric,
.inline-result, .valor-resultado, .linha-resultado {
  min-height: 0 !important;
  padding: 9px 10px !important;
}

.kpi-value, .hero-value, .valor, .value, .k-value,
.result-amount, .ace-category-score {
  font-size: clamp(1.25rem, 2.5vw, 1.9rem) !important;
}

.table-wrap, .ace-table-wrap, .result-table-wrap,
.preview-scroll, .scheduleSurface { max-height: 38vh; }

.jc-app { padding: 16px !important; border-radius: 0 !important; }
.jc-head { margin-bottom: 14px !important; }
.jc-seal { width: 62px !important; height: 62px !important; }
.jc-grid { gap: 10px !important; }
.jc-time, .jc-metrics { margin-top: 12px !important; }
.jc-metric { padding: 10px !important; }
.jc-metric strong { font-size: 1.15rem !important; }

.ace-result-section, .result-section { padding: 10px 12px !important; }
.ace-callout, .notice, .info, .note, .legal-note, .ace-legal {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding: 10px 12px !important;
}

@media (min-width: 900px) {
  .ace-grid-4, .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .ace-grid-3, .grid-3, .metric-grid, .summaryGrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  h1 { font-size: clamp(1.45rem, 7.5vw, 1.9rem) !important; }
  h2 { font-size: clamp(1.03rem, 5vw, 1.3rem) !important; }
  .jc-app { padding: 10px !important; }
  .quadro, .section, .ace-section, .ace-panel, .jc-card,
  .subcard, .ace-subcard, .mini-panel, .sidebarCard, .legal-card,
  .ace-info-card, .ace-chart-card, .ace-scenario-card, .ace-result-hero {
    padding: 11px !important;
  }
}

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

/* Modo de trabalho v2: a ferramenta ocupa a tela, e não uma sucessão de grandes quadros. */
html { background: var(--ace-system-offwhite); }
body {
  margin: 0 !important;
  background: var(--ace-system-offwhite) !important;
  color: var(--ace-system-graphite);
  font-size: 13px;
  line-height: 1.45;
}

body, .container, .wrap, .ace-shell, .main, .app-shell { min-height: 0 !important; }
.container, .wrap, .ace-shell, .main, .app-shell {
  width: 100% !important;
  max-width: 1480px !important;
  padding: 8px 10px 18px !important;
}

h1 { font-size: clamp(1.25rem, 2vw, 1.6rem) !important; }
h2 { font-size: clamp(1rem, 1.35vw, 1.2rem) !important; }
h3 { font-size: clamp(.88rem, 1.1vw, 1rem) !important; }
p { margin-top: .35em; margin-bottom: .55em; }

.topbar, .ace-topbar, .app-header, .header, .toolbar {
  min-height: 42px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.topbar-inner, .header-inner, .toolbar-inner { min-height: 0 !important; padding: 0 !important; }
.brand, .ace-brand, .brand-wrap { gap: 7px !important; }
.brand-mark, .ace-mark, .ace-brandmark, .ace-emblem, .ace-brand-mark, .jc-seal {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  font-size: .7rem !important;
}
.brand-title, .ace-brand-name { font-size: .82rem !important; }
.brand-sub, .ace-brand-sub { display: none !important; }

.hero, .ace-hero {
  min-height: 0 !important;
  margin: 0 0 7px !important;
  padding: 9px 10px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hero h1, .ace-hero h1 { margin: 0 !important; }
.hero p, .ace-hero p, .ace-lead, .ace-subtitle, .subtitle, .sub {
  max-width: 980px !important;
  font-size: .74rem !important;
  line-height: 1.4 !important;
}
.hero-card, .ace-hero-card { min-height: 0 !important; padding: 9px 10px !important; }

.layout, .ace-layout, .grid, .ace-grid, .jc-grid, .app-shell,
.main-stack, .side-stack, .reportGrid, .summaryGrid, .metric-grid {
  gap: 7px !important;
}

.card, .quadro, .section, .ace-section, .ace-card, .ace-panel, .jc-card,
.subcard, .ace-subcard, .mini-panel, .sidebarCard, .legal-card,
.result-card, .kpi-box, .ace-kpi, .ace-info-card, .ace-chart-card,
.ace-scenario-card, .ace-result-hero, .panel {
  min-height: 0 !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.quadro, .section, .ace-section, .ace-panel, .jc-card,
.subcard, .ace-subcard, .mini-panel, .sidebarCard, .legal-card,
.ace-info-card, .ace-chart-card, .ace-scenario-card, .ace-result-hero, .panel {
  padding: 9px 10px !important;
}

.card .card, .card .subcard, .quadro .subcard, .ace-card .ace-card,
.ace-panel .ace-subcard, .panel .subcard {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.card-head, .section-head, .sectionHeader, .ace-section-head, .result-head,
.preview-head, .dialog-head, .ace-dialog-head {
  min-height: 0 !important;
  margin-bottom: 6px !important;
  padding: 7px 9px !important;
}
.card-body, .result-body, .ace-card-pad, .ace-dialog-body,
.details-body, .ace-details-body { padding: 8px 9px !important; }

.field, .ace-field, .control, .jc-field, .campo-linha { margin-top: 6px !important; margin-bottom: 6px !important; }
.field label, .ace-field label, .control label, .label { margin-bottom: 3px !important; font-size: .7rem !important; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
  min-height: 34px !important;
  padding: 5px 8px !important;
  font-size: .76rem !important;
}
textarea { min-height: 58px !important; }

.btn, .ace-btn, .button, .action, .step-button,
.tab-btn, .tab, .mode-btn, .ace-step-tab, .ace-plan-tab,
.result-tab, .pill, .check-pill, .radio-pill, .choice {
  min-height: 32px !important;
  padding: 5px 9px !important;
  font-size: .68rem !important;
}

.tabs, .ace-step-tabs, .result-tabs, .stepper, .step-nav,
.mode-row, .choice-row, .pillrow, .btnrow, .btn-row,
.actions, .ace-actions, .inline-actions, .primaryActions {
  gap: 5px !important;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}
.tabs, .ace-step-tabs, .result-tabs, .stepper, .step-nav, .mode-row {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scrollbar-width: thin;
}
.tabs > *, .ace-step-tabs > *, .result-tabs > *, .stepper > *, .step-nav > *, .mode-row > * {
  flex: 0 0 auto;
  white-space: nowrap;
}
.ace-step-panel, .step-panel, .tab-panel, .tabcontent, .result-pane { padding-top: 7px !important; padding-bottom: 7px !important; }

.kpi, .metric, .ace-kpi, .mini-kpi, .jc-metric,
.inline-result, .valor-resultado, .linha-resultado {
  min-height: 0 !important;
  padding: 7px 8px !important;
}
.kpi-value, .hero-value, .valor, .value, .k-value,
.result-amount, .ace-category-score { font-size: clamp(1.05rem, 1.8vw, 1.45rem) !important; }

.table-wrap, .ace-table-wrap, .result-table-wrap,
.preview-scroll, .scheduleSurface, .scroll {
  max-height: 52svh !important;
  overflow: auto !important;
}
table { font-size: .7rem !important; }
th, td { padding: 6px 7px !important; }
thead th { position: sticky; top: 0; z-index: 2; }

details { margin-top: 6px !important; margin-bottom: 6px !important; }
details > summary { min-height: 34px; padding: 6px 8px !important; font-size: .72rem !important; }
.ace-callout, .notice, .info, .note, .legal-note, .ace-legal,
.ace-legal-banner, .privacy-strip {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
  padding: 7px 9px !important;
  font-size: .68rem !important;
  line-height: 1.38 !important;
}

.jc-app { max-width: 1480px !important; padding: 8px !important; }
.jc-head { margin-bottom: 7px !important; }
.jc-time, .jc-metrics { margin-top: 7px !important; }
.jc-day, .jc-scale { min-height: 32px !important; padding: 5px !important; }

@media (min-width: 980px) {
  #ace-preco-venda .ace-layout,
  #ace-ponto-equilibrio .layout,
  #ace-preco-reforma .ace-layout { gap: 8px !important; }
  .side, .sidebar, .side-stack { align-self: start; }
  .check-grid, .ace-choice-grid, .ace-benefit-grid, .ace-composition-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 700px) {
  body { font-size: 13px; }
  .container, .wrap, .ace-shell, .main, .app-shell { padding: 6px 7px 14px !important; }
  .topbar, .ace-topbar, .app-header, .header, .toolbar { padding: 6px 7px !important; }
  .hero, .ace-hero { padding: 8px !important; }
  input:not([type="checkbox"]):not([type="radio"]), select { min-height: 40px !important; }
  .btn, .ace-btn, .button, .action, .step-button,
  .tab-btn, .tab, .mode-btn, .ace-step-tab, .ace-plan-tab,
  .result-tab, .pill, .check-pill, .radio-pill, .choice { min-height: 40px !important; }
  .quadro, .section, .ace-section, .ace-panel, .jc-card,
  .subcard, .ace-subcard, .mini-panel, .sidebarCard, .legal-card,
  .ace-info-card, .ace-chart-card, .ace-scenario-card, .ace-result-hero, .panel { padding: 8px !important; }
  .table-wrap, .ace-table-wrap, .result-table-wrap, .preview-scroll, .scheduleSurface, .scroll { max-height: 58svh !important; }
}

/* Experiência guiada para os aplicativos trabalhistas atualizados (v3). */
body.ace-tool {
  --ace-help-bg: #fff8e7;
  --ace-help-line: #c9a24d;
  color: var(--ace-system-graphite) !important;
  background: var(--ace-system-offwhite) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.ace-tool h1,
body.ace-tool h2,
body.ace-tool h3 { color: var(--ace-system-deep); }

body.ace-tool .card,
body.ace-tool .panel,
body.ace-tool .section,
body.ace-tool .jsim-card,
body.ace-tool .jsim-editor,
body.ace-tool .mini-panel,
body.ace-tool .evidence-card {
  border-color: rgba(17, 42, 69, .18) !important;
  box-shadow: 0 5px 16px rgba(11, 28, 45, .07) !important;
}

body.ace-tool .card-head,
body.ace-tool .step-head,
body.ace-tool .section-title {
  color: var(--ace-system-deep) !important;
}

body.ace-tool label,
body.ace-tool legend,
body.ace-tool .field label,
body.ace-tool .help,
body.ace-tool .hint,
body.ace-tool .muted,
body.ace-tool .jsim-note {
  color: #4e5d68 !important;
  font-size: max(.76rem, 12px) !important;
}

body.ace-tool input:not([type="checkbox"]):not([type="radio"]),
body.ace-tool select,
body.ace-tool textarea {
  min-height: 40px !important;
  border: 1px solid #9ba7b1 !important;
  background: #fff !important;
  color: var(--ace-system-graphite) !important;
  font-size: .86rem !important;
}

body.ace-tool input::placeholder,
body.ace-tool textarea::placeholder { color: #66727d !important; opacity: 1; }

body.ace-tool button:not(.ace-help-trigger):not(.ace-field-help),
body.ace-tool .btn,
body.ace-tool .mode-btn,
body.ace-tool .step-tab,
body.ace-tool .tab {
  min-height: 40px !important;
  border: 1px solid #244c6c !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--ace-system-blue) !important;
  box-shadow: 0 2px 0 rgba(11, 28, 45, .13) !important;
  font-size: max(.74rem, 12px) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.ace-tool button:not(.ace-help-trigger):not(.ace-field-help):hover,
body.ace-tool .btn:hover {
  background: #eef3f7 !important;
  border-color: var(--ace-system-deep) !important;
}

body.ace-tool button.primary,
body.ace-tool .btn.primary,
body.ace-tool button.next,
body.ace-tool button.active,
body.ace-tool button.on,
body.ace-tool .jsim-actions .primary {
  background: var(--ace-system-blue) !important;
  border-color: var(--ace-system-blue) !important;
  color: #fff !important;
}

body.ace-tool button.primary:hover,
body.ace-tool .btn.primary:hover,
body.ace-tool button.next:hover,
body.ace-tool button.active:hover,
body.ace-tool button.on:hover,
body.ace-tool .jsim-actions .primary:hover {
  background: var(--ace-system-blue) !important;
  border-color: var(--ace-system-gold) !important;
  color: #fff !important;
}

body.ace-tool button.danger,
body.ace-tool .btn.danger { background: #fff !important; border-color: #a53c32 !important; color: #812b24 !important; }

body.ace-tool .jsim-results,
body.ace-tool .hero-result {
  background: var(--ace-system-deep) !important;
  color: #fff !important;
}

body.ace-tool .jsim-results h2,
body.ace-tool .hero-result h2,
body.ace-tool .hero-result strong { color: #fff !important; }

body.ace-tool .jsim-metric strong,
body.ace-tool .hero-value,
body.ace-tool .positive { color: #efd184 !important; }

body.ace-tool .notice,
body.ace-tool .info,
body.ace-tool .legal-note,
body.ace-tool .privacy-strip {
  border: 1px solid rgba(17, 42, 69, .2) !important;
  color: var(--ace-system-graphite) !important;
}

body.ace-tool .ace-help-wrap { position: relative; display: inline-flex; vertical-align: middle; margin-left: 7px; }
body.ace-tool .ace-help-trigger,
body.ace-tool .ace-field-help {
  width: 23px !important;
  min-width: 23px !important;
  height: 23px !important;
  min-height: 23px !important;
  padding: 0 !important;
  border: 1px solid var(--ace-system-gold-dark) !important;
  border-radius: 50% !important;
  background: var(--ace-help-bg) !important;
  color: #6b4f16 !important;
  box-shadow: none !important;
  font: 800 12px/21px Inter, Arial, sans-serif !important;
  text-align: center;
  cursor: help;
}

body.ace-tool .ace-help-tip {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 8px);
  left: 0;
  width: min(300px, calc(100vw - 36px));
  padding: 10px 12px;
  border: 1px solid var(--ace-help-line);
  border-radius: 7px;
  background: #fffdf7;
  color: var(--ace-system-graphite);
  box-shadow: 0 10px 30px rgba(11, 28, 45, .18);
  font: 500 12px/1.45 Inter, Arial, sans-serif;
  text-align: left;
  letter-spacing: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-3px);
  transition: opacity .15s ease, transform .15s ease;
}

body.ace-tool .ace-help-wrap:hover .ace-help-tip,
body.ace-tool .ace-help-wrap:focus-within .ace-help-tip,
body.ace-tool .ace-help-wrap.is-open .ace-help-tip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

body.ace-jornada-v3 .jsim-card { border-radius: 9px !important; }
body.ace-jornada-v3 .jsim-num,
body.ace-medidas-v3 .num,
body.ace-rescisao-v3 .step { background: var(--ace-system-gold) !important; color: var(--ace-system-deep) !important; }
body.ace-medidas-v3 .top,
body.ace-folha-v3 .top,
body.ace-rescisao-v3 .topbar { background: var(--ace-system-deep) !important; color: #fff !important; }
body.ace-medidas-v3 .top h1,
body.ace-folha-v3 .top h1,
body.ace-rescisao-v3 .topbar h1 { color: #fff !important; }

body.ace-folha-v3 .card {
  background: #fff !important;
  color: var(--ace-system-graphite) !important;
}
body.ace-folha-v3 .card h2 { color: var(--ace-system-deep) !important; border-color: rgba(17, 42, 69, .16) !important; }
body.ace-folha-v3 .card h3 { color: var(--ace-system-gold-dark) !important; }
body.ace-folha-v3 .metric,
body.ace-folha-v3 .audit-row > div { background: #f2f5f7 !important; color: var(--ace-system-graphite) !important; }
body.ace-folha-v3 th { background: var(--ace-system-deep) !important; color: #efd184 !important; }

@media (max-width: 700px) {
  body.ace-tool { font-size: 14px !important; }
  body.ace-tool .ace-help-tip { left: auto; right: -8px; width: min(280px, calc(100vw - 28px)); }
}

/* Correções de leitura e densidade: estados claros, tabelas contidas e sem sobreposição. */
body.ace-tool button.on:not(.ace-help-trigger):not(.ace-field-help),
body.ace-tool button.active:not(.ace-help-trigger):not(.ace-field-help),
body.ace-tool button[aria-pressed="true"]:not(.ace-help-trigger):not(.ace-field-help) {
  border-color: var(--ace-system-gold) !important;
  background: var(--ace-system-blue) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 2px var(--ace-system-gold), 0 2px 0 rgba(11, 28, 45, .16) !important;
}

body.ace-tool button.on span,
body.ace-tool button.on small,
body.ace-tool button[aria-pressed="true"] span,
body.ace-tool button[aria-pressed="true"] small { color: #fff !important; }

body.ace-tool .jsim-days button[aria-pressed="true"]::after {
  content: " ✓";
  color: #efd184;
}

body.ace-tool .table-wrap,
body.ace-tool .ace-table-wrap,
body.ace-tool .result-table-wrap,
body.ace-tool .preview-scroll,
body.ace-tool .scheduleSurface,
body.ace-tool .jsim-table,
body.ace-tool .scroll {
  max-height: 330px !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

body.ace-tool table { width: 100%; }
body.ace-tool th,
body.ace-tool td { padding: 5px 7px !important; line-height: 1.3 !important; }

body.ace-jornada-v3 .jsim-day-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
}
body.ace-jornada-v3 .jsim-day-card { position: relative; padding: 10px !important; }
body.ace-jornada-v3 .jsim-fields { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.ace-jornada-v3 .jsim-day-card > button {
  position: absolute;
  top: 7px;
  right: 8px;
  min-height: 27px !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  font-size: 10px !important;
}

body.ace-tool > footer,
body.ace-tool .jsim-footer,
body.ace-tool .tool-footer,
body.ace-tool .medidas-contact-footer {
  min-height: 0 !important;
  margin: 7px auto 0 !important;
  padding: 6px 8px !important;
  gap: 5px 14px !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}

@media (max-width: 1120px) {
  body.ace-jornada-v3 .jsim-day-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 700px) {
  body.ace-tool .table-wrap,
  body.ace-tool .ace-table-wrap,
  body.ace-tool .result-table-wrap,
  body.ace-tool .preview-scroll,
  body.ace-tool .scheduleSurface,
  body.ace-tool .jsim-table,
  body.ace-tool .scroll { max-height: 280px !important; }
  body.ace-jornada-v3 .jsim-day-list { grid-template-columns: 1fr !important; }
}

@media print {
  body.ace-tool .table-wrap,
  body.ace-tool .ace-table-wrap,
  body.ace-tool .result-table-wrap,
  body.ace-tool .preview-scroll,
  body.ace-tool .scheduleSurface,
  body.ace-tool .jsim-table,
  body.ace-tool .scroll { max-height: none !important; overflow: visible !important; }
}
