:root {
  --app-blue: #0d6efd;
  --app-blue-700: #0b5ed7;
  --app-cyan: #06b6d4;
  --app-slate: #0f172a;
  --app-muted: #64748b;
  --app-bg: #f4f8fc;
  --app-line: #dbeafe;
  --app-header-h: 76px;
  --app-bottom-h: 72px;
}

* {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  background: linear-gradient(180deg, #f8fbff 0%, #eef7fb 100%);
  color: var(--app-slate);
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: 1040;
  min-height: var(--app-header-h);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.brand-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--app-blue), var(--app-cyan));
  color: white;
  font-size: 1.25rem;
  box-shadow: 0 12px 26px rgba(13, 110, 253, 0.22);
}

.nav-pills .nav-link {
  border: 1px solid var(--app-line);
  background: #fff;
  color: #1e293b;
  font-weight: 700;
  border-radius: 999px;
  transition: all 0.18s ease-in-out;
}

.nav-pills .nav-link:hover {
  transform: translateY(-1px);
  background: #eff6ff;
}

.nav-pills .nav-link.active {
  background: linear-gradient(135deg, var(--app-blue), var(--app-cyan));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 22px rgba(13, 110, 253, 0.2);
}

.page-host {
  min-height: calc(100vh - var(--app-header-h));
}

.page-section {
  padding: 1rem;
}

@media (min-width: 992px) {
  .page-section {
    padding: 1.25rem 1.5rem;
  }
}

.app-card {
  border: 1px solid var(--app-line);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
}

.app-card-hover {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}
.app-card-hover:hover {
  transform: translateY(-2px);
  border-color: #93c5fd;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.1);
}

.btn {
  font-weight: 700;
  border-radius: 0.85rem;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn:active {
  transform: scale(0.98) !important;
}

.btn-app-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--app-blue), var(--app-cyan));
  border: 0;
  box-shadow: 0 10px 22px rgba(13, 110, 253, 0.22);
}
.btn-app-primary:hover {
  color: #fff;
  filter: brightness(0.98);
}

.form-select,
.form-control {
  border-color: #cfe3ff;
  border-radius: 0.9rem;
  min-height: 44px;
  font-weight: 650;
}
.form-select:focus,
.form-control:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.12);
}

.kpi-card {
  border: 1px solid var(--app-line);
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  height: 100%;
}
.kpi-card .icon {
  width: 42px;
  height: 42px;
  border-radius: 0.9rem;
  background: #eff6ff;
  color: var(--app-blue);
}
.kpi-card small {
  color: var(--app-muted);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 0.72rem;
}
.kpi-card strong {
  font-size: 1.5rem;
  letter-spacing: -0.03em;
}

/* Upload */
.upload-hero {
  max-width: 980px;
  margin-inline: auto;
}
.dropzone {
  border: 2px dashed #93c5fd;
  border-radius: 1.5rem;
  background: linear-gradient(180deg, #fff, #f8fbff);
  min-height: 260px;
  cursor: pointer;
  transition: all 0.18s ease;
}
.dropzone:hover,
.dropzone.dragover {
  border-color: var(--app-blue);
  background: #eff6ff;
  transform: translateY(-2px);
}
.dropzone-icon {
  width: 70px;
  height: 70px;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, var(--app-blue), var(--app-cyan));
  color: #fff;
  font-size: 2rem;
}

/* Tabela full page */
.table-page {
  height: calc(100vh - var(--app-header-h));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0.75rem;
}
.table-appbar {
  flex: 0 0 auto;
  border: 1px solid var(--app-line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
  padding: 0.6rem;
}
.table-shell {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 0.75rem;
  border: 1px solid var(--app-line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}
.table-responsive-full {
  height: 100%;
  overflow: auto;
}
.audit-table {
  min-width: 1380px;
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}
.audit-table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: linear-gradient(180deg, #1e40af, #1d4ed8);
  color: #fff;
  white-space: nowrap;
  font-size: 0.78rem;
  height: 44px;
  padding: 0.65rem 0.75rem;
  border-right: 1px solid rgba(255, 255, 255, 0.24);
}
.audit-table tbody td {
  vertical-align: middle;
  height: 48px;
  padding: 0.55rem 0.75rem;
  border-bottom: 1px solid #edf2f7;
  font-size: 0.86rem;
}
.audit-table tbody tr:nth-child(even) {
  background: #f8fafc;
}
.audit-table tbody tr {
  transition:
    background 0.16s ease,
    box-shadow 0.16s ease,
    opacity 0.16s ease;
}
.audit-table tbody tr:hover {
  background: #eaf3ff;
  box-shadow: inset 4px 0 0 var(--app-blue);
}
.audit-table tr.row-non-worked {
  background: #fbfdff !important;
  opacity: 0.58;
}
.audit-table tr.row-non-worked:hover {
  opacity: 0.92;
  background: #eef6ff !important;
}
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  border-radius: 999px;
  padding: 0.22rem 0.7rem;
  font-weight: 800;
  font-size: 0.78rem;
  white-space: nowrap;
}
.pill-scale {
  border: 1px solid #fdba74;
  background: #fff7ed;
  color: #1d4ed8;
}
.pill-regime {
  border: 1px solid #bae6fd;
  background: #e0f2fe;
  color: #075985;
}
.pill-adjusted {
  border: 1px solid #fb923c;
  background: #fff7ed;
  color: #ea580c;
}
.pill-success {
  border: 1px solid #86efac;
  background: #dcfce7;
  color: #166534;
}
.pill-muted {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #475569;
}

.toggle-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 44px;
  padding: 0.35rem 0.7rem;
  border: 1px solid #cfe3ff;
  border-radius: 0.95rem;
  background: #fff;
  font-weight: 800;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.toggle-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.toggle-track {
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #dbe3ee;
  position: relative;
  transition: background 0.18s ease;
}
.toggle-track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25);
  transition: transform 0.18s ease;
}
.toggle-switch input:checked + .toggle-track {
  background: linear-gradient(135deg, var(--app-blue), var(--app-cyan));
}
.toggle-switch input:checked + .toggle-track::after {
  transform: translateX(18px);
}

.floating-search {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1030;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid var(--app-line);
  background: #fff;
  color: #0f172a;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.12);
}
.search-panel {
  position: fixed;
  right: 1.25rem;
  bottom: 5rem;
  z-index: 1030;
  width: min(420px, calc(100vw - 2rem));
  display: none;
}
.search-panel.show {
  display: block;
}

/* Bottom nav mobile */
.bottom-nav {
  height: var(--app-bottom-h);
  box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.08);
}
.bottom-link {
  text-decoration: none;
  color: #475569;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.72rem;
  font-weight: 800;
}
.bottom-link i {
  font-size: 1.2rem;
}
.bottom-link.active {
  color: var(--app-blue);
}

@media (max-width: 991.98px) {
  body {
    padding-bottom: var(--app-bottom-h);
  }
  .table-page {
    height: calc(100vh - var(--app-header-h) - var(--app-bottom-h));
  }
  .brand small {
    display: none;
  }
}

.help-section h2,
.params-section h2 {
  letter-spacing: -0.03em;
}
.rule-block {
  border-left: 4px solid var(--app-blue);
  padding-left: 1rem;
}
.old-value {
  color: #dc3545;
  text-decoration: line-through;
  font-weight: 700;
}
.new-value {
  color: #198754;
  font-weight: 900;
}

/* V2 — Upload wide, processamento legado e parâmetros robustos */
.upload-page-v2 {
  min-height: calc(100vh - var(--app-header-h));
  display: flex;
  align-items: stretch;
}
.upload-main-card {
  min-height: calc(100vh - var(--app-header-h) - 2.5rem);
}
.v2-step {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid #e2e8f0;
}
.v2-step:last-of-type {
  border-bottom: 0;
}
.v2-step > span {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #0d6efd;
  font-weight: 900;
}
.v2-step p {
  margin: 0.25rem 0 0;
  color: #64748b;
}

.processing-overlay {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.processing-overlay:not(.d-none) {
  display: flex !important;
}
.processing-card {
  width: min(520px, 96vw);
  border-radius: 1.4rem;
  background: #fff;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.28);
}
.param-group-icon {
  width: 48px;
  height: 48px;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: #0d6efd;
  font-size: 1.45rem;
  flex: 0 0 48px;
}
.param-field-card {
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  transition: all 0.18s ease-in-out;
}
.param-field-card:hover {
  border-color: #93c5fd;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
.params-section .tooltip-inner {
  max-width: 340px;
  text-align: left;
}
@media (min-width: 992px) {
  .upload-page-v2 .container-fluid {
    display: flex;
    flex-direction: column;
  }
}

/* V2.1 — camada legada oculta e estados vazios */
#legacyCompatLayer {
  display: none !important;
}
.audit-table tbody td[colspan] {
  height: 240px;
  font-size: 1rem;
}

/* V3 — processamento Bootstrap próprio */
body[data-route="upload"] .page-host {
  min-height: calc(100vh - var(--app-header-h));
}
.processing-card .progress {
  height: 0.65rem;
  border-radius: 999px;
}

/* V4 — cache opcional e filtros mais leves */
.cache-consent-card {
  border: 1px solid #bfdbfe;
  border-radius: 1.25rem;
  padding: 1rem;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
}
.cache-consent-icon {
  width: 44px;
  height: 44px;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0d6efd;
  color: #fff;
  box-shadow: 0 12px 24px rgba(13, 110, 253, 0.2);
  flex: 0 0 44px;
}
.table-appbar-clean {
  padding: 0.55rem 0.75rem;
}
.table-appbar-clean .input-group-text {
  background: #fff;
  color: #0d6efd;
  border-color: #dbeafe;
  font-weight: 800;
}
.table-appbar-clean .form-select {
  border-color: #dbeafe;
  font-weight: 700;
}
.appbar-filter-type {
  width: 260px;
}
.appbar-filter-value {
  min-width: 320px;
}
.appbar-toggle {
  min-height: 42px;
  padding: 0.45rem 0.75rem;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #fff;
}
.appbar-mode {
  min-height: 42px;
  border-radius: 999px;
  font-weight: 800;
}
.audit-table tbody tr {
  transition:
    background-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}
.audit-table tbody tr:hover {
  background: #eef6ff !important;
  box-shadow: inset 3px 0 0 #0d6efd;
}
.audit-table tbody tr.row-non-worked {
  opacity: 0.72;
  background: #f8fafc !important;
}
@media (max-width: 992px) {
  .appbar-filter-type,
  .appbar-filter-value {
    width: 100%;
    min-width: 0;
  }
}

/* V5 — tabela em linha única, exportação e parâmetros em colunas */
.table-filter-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: nowrap;
  width: 100%;
}
.table-filter-row .appbar-filter-type {
  flex: 0 0 230px;
  width: 230px;
}
.table-filter-row .appbar-filter-value {
  flex: 1 1 auto;
  min-width: 280px;
}
.table-filter-row .appbar-toggle {
  flex: 0 0 auto;
  white-space: nowrap;
}
.table-filter-row .appbar-mode {
  flex: 0 0 auto;
  white-space: nowrap;
}
.table-filter-row .appbar-clear {
  flex: 0 0 auto;
  white-space: nowrap;
  border-radius: 999px;
  font-weight: 800;
}
.audit-table.table tbody tr:hover > td,
.audit-table tbody tr:hover > td {
  background: #eaf4ff !important;
}
.audit-table.table tbody tr:hover {
  cursor: default;
}
.pill-regime {
  background: #e0f2fe;
  color: #075985;
  border: 1px solid #bae6fd;
}
.params-columns .param-category-card {
  display: flex;
  flex-direction: column;
}
.param-category-card .param-field-card {
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
}
.export-page .kpi-card {
  min-height: 130px;
}
@media (max-width: 1100px) {
  .table-filter-row {
    flex-wrap: wrap;
  }
  .table-filter-row .appbar-filter-type,
  .table-filter-row .appbar-filter-value {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* V6 — Regime com siglas BH/HE e Ajuda de Custo correta */
.pill-regime-bh {
  background: #e0f2fe;
  color: #075985;
  border: 1px solid #bae6fd;
}
.pill-regime-he {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
}
.pill-regime-escala {
  background: #ede9fe;
  color: #5b21b6;
  border: 1px solid #ddd6fe;
}
.pill-regime-muted {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

/* V7 — Exportações funcionais */
.export-filter-card .form-select,
.export-filter-card .toggle-switch {
  min-height: 46px;
}
.export-page .btn {
  transition:
    transform 0.18s ease-in-out,
    box-shadow 0.18s ease-in-out,
    opacity 0.18s ease-in-out;
}
.export-page .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(13, 110, 253, 0.12);
}
.export-page .btn:active {
  transform: scale(0.98);
}

/* V8 — XLSX formatado com abas originais */
.export-page .alert-info strong {
  color: #075985;
}

/* V9 — Tabela e XLSX refinados */
.audit-table thead th {
  -webkit-user-select: none;
  user-select: none;
  white-space: nowrap;
  vertical-align: middle;
}
.audit-table thead th[draggable="true"] {
  cursor: grab;
}
.audit-table thead th.dragging {
  opacity: 0.55;
}
.audit-table thead th.drag-over {
  outline: 2px dashed #93c5fd;
  outline-offset: -4px;
  background: #1d4ed8 !important;
}
.column-drag-handle {
  opacity: 0.45;
  margin-left: 0.45rem;
  font-size: 0.85rem;
}
.audit-table tbody tr.row-adjusted > td {
  background: #fff7ed !important;
  border-top: 1px solid #fdba74;
  border-bottom: 1px solid #fdba74;
}
.audit-table tbody tr.row-adjusted:hover > td {
  background: #ffedd5 !important;
}
.pill-adjusted {
  background: #ffedd5;
  color: #c2410c;
  border: 1px solid #fb923c;
  font-weight: 900;
}
.pill-scale-1236 {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}
.pill-scale-2472 {
  background: #f5f3ff;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
}
.pill-scale-flex {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}
.pill-scale-padrao {
  background: #eef2ff;
  color: #3730a3;
  border: 1px solid #c7d2fe;
}
.dept-hover {
  cursor: help;
  text-decoration: underline dotted rgba(71, 85, 105, 0.45);
  text-underline-offset: 3px;
}
.search-panel.show {
  display: block;
}

/* V10 — refinamentos de tabela e filtros */
.audit-table th,
.audit-table td {
  border-right: 1px dashed rgba(148, 163, 184, 0.36);
}
.audit-table th:last-child,
.audit-table td:last-child {
  border-right: 0;
}
.audit-table tbody tr:hover td {
  background: #eff6ff !important;
  box-shadow:
    inset 0 1px 0 rgba(37, 99, 235, 0.08),
    inset 0 -1px 0 rgba(37, 99, 235, 0.08);
}
.export-filter-card select[multiple],
.table-appbar select[multiple] {
  min-height: 42px;
  padding-block: 0.35rem;
}
.param-category-card .param-field-card:has(label)::before {
  content: "";
}

/* V11 — ajustes finais de parâmetros, tabela e filtros */
.appbar-filter-menu {
  width: min(520px, 92vw);
  max-height: 380px;
  overflow: auto;
  border: 1px solid #dbeafe;
  border-radius: 16px;
}
.filter-check-list {
  display: grid;
  gap: 2px;
  max-height: 285px;
  overflow: auto;
}
.filter-check-item {
  border-radius: 10px;
  font-weight: 700;
}
.filter-check-item:hover {
  background: #eff6ff;
}
.column-filter-row th {
  background: #f8fbff !important;
  padding: 0.35rem 0.45rem !important;
  border-bottom: 1px solid #bfdbfe !important;
}
.column-filter {
  min-width: 92px;
  font-size: 0.76rem;
  border-radius: 10px;
}
.audit-table thead tr:first-child th {
  border-right: 1px dashed rgba(255, 255, 255, 0.42) !important;
}
.audit-table tbody td {
  border-right: 1px dashed #dbeafe !important;
}
.audit-table tbody tr:hover td {
  background: #eaf4ff !important;
}
.pill-adjusted-clean {
  font-size: 0.68rem !important;
  padding: 0.16rem 0.42rem !important;
  border-radius: 999px !important;
  line-height: 1.1;
  vertical-align: middle;
}
.params-section .param-field-card {
  background: #fff;
  border: 1px solid #dbeafe;
  border-radius: 18px;
  padding: 1rem;
  transition: 0.18s ease-in-out;
}
.params-section .param-field-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
}
.params-section .info-param {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.params-section .hhmm-badge {
  font-weight: 800;
}

/* V12 — ajustes HR e parâmetros recalculáveis */
#hrOwnFilterValue,
#exportFilterValue {
  min-height: 96px;
}
#hrOwnFilterBox {
  border-color: #dbeafe !important;
}

/* V13 — tabela sem filtros por coluna e hover reforçado */
.audit-table thead tr.column-filter-row {
  display: none !important;
}
.audit-table tbody tr:hover > td {
  background: #eaf4ff !important;
  box-shadow:
    inset 0 1px 0 #bfdbfe,
    inset 0 -1px 0 #bfdbfe;
}

/* V14 — navegação bloqueada até o processamento */
.nav-locked {
  opacity: 1;
}
#desktopNav .d-none,
#bottomNav .d-none {
  display: none !important;
}

/* V16 - correcoes runtime de Tabela e Exportar */
.audit-table thead tr.column-filter-row {
  display: none !important;
}
.audit-table tbody tr:hover > td {
  background: #eaf4ff !important;
}

/* V17 — filtro de exportação */
.export-filter-card #btnClearExportFilter {
  border-radius: 999px;
  font-weight: 700;
}

/* V19 — cards compactos de totais na exportação */
.export-totals-card .mini-total {
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  padding: 0.75rem 0.9rem;
  background: #fff;
  min-height: 72px;
}
.export-totals-card .mini-total span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #64748b;
  letter-spacing: 0.02em;
}
.export-totals-card .mini-total strong {
  display: block;
  font-size: 1.05rem;
  color: #0f172a;
  margin-top: 0.2rem;
  white-space: nowrap;
}
.export-totals-card .mini-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem 0.75rem;
  font-size: 0.82rem;
}
.export-totals-card .mini-groups div {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom: 1px dashed #dbeafe;
  padding: 0.15rem 0;
}
.export-totals-card .mini-groups span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #475569;
}
.export-totals-card .mini-groups strong {
  white-space: nowrap;
  color: #0f172a;
}
@media (max-width: 768px) {
  .export-totals-card .mini-groups {
    grid-template-columns: 1fr;
  }
}

/* V20 — Exportar: cards compactos e resumo em expander */
.export-page .export-totals-card {
  border-color: #bfdbfe;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.mini-total {
  min-height: 72px;
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
}
.mini-total span {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 800;
  color: #64748b;
}
.mini-total strong {
  font-size: 1.15rem;
  color: #0f172a;
}
.mini-total-primary {
  background: #eff6ff;
}
.mini-total-success {
  background: #ecfdf5;
  border-color: #bbf7d0;
}
.mini-total-warning {
  background: #fff7ed;
  border-color: #fed7aa;
}

.export-mini-groups-centered {
  max-width: 920px;
  margin-inline: auto;
}
.export-summary-accordion .accordion-button {
  border-radius: 1.25rem !important;
  box-shadow: none;
}
.export-summary-accordion .accordion-button:not(.collapsed) {
  color: #0f172a;
  background: #f8fbff;
}
.export-mini-kpi {
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: #fff;
  padding: 0.85rem 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.export-mini-kpi i {
  font-size: 1.35rem;
}
.export-mini-kpi span {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 800;
  color: #64748b;
}
.export-mini-kpi strong {
  font-size: 1.35rem;
  line-height: 1;
  color: #0f172a;
}

/* V20 — assinatura centralizada na página de ajuda */
.help-signature-footer {
  padding-bottom: calc(var(--app-bottom-h, 72px) + 1rem);
}

/* V21 — correções Exportar/Help */
.export-summary-accordion .accordion-item {
  border-radius: 1.25rem;
}
.export-summary-accordion .accordion-button {
  border-radius: 1.25rem !important;
  box-shadow: none;
}
.export-summary-accordion .accordion-button:not(.collapsed) {
  background: #f8fbff;
  color: #0f172a;
}
.export-mini-kpi {
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: #fff;
  padding: 0.85rem 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.export-mini-kpi i {
  font-size: 1.35rem;
}
.export-mini-kpi span {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 800;
  color: #64748b;
}
.export-mini-kpi strong {
  font-size: 1.35rem;
  line-height: 1;
  color: #0f172a;
}
.help-signature-footer {
  padding-bottom: calc(var(--app-bottom-h, 72px) + 1rem);
}

/* V22 — Exportar: resumo único em expander, cards isonômicos e sem duplicidade */
.export-summary-accordion .accordion-body {
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}
.export-totals-panel {
  max-width: 1180px;
  margin-inline: auto;
}
.export-summary-card {
  min-height: 96px;
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: #fff;
  padding: 1rem 0.9rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.04);
}
.export-summary-card i {
  font-size: 1.45rem;
}
.export-summary-card span {
  min-height: 2.15em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.74rem;
  line-height: 1.08;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  font-weight: 800;
  color: #64748b;
}
.export-summary-card strong {
  font-size: 1.45rem;
  line-height: 1;
  color: #0f172a;
}
.export-summary-card-success {
  border-color: #bbf7d0;
  background: #f7fff9;
}
.export-summary-card-warning {
  border-color: #fde68a;
  background: #fffdf3;
}
.export-summary-card-primary {
  border-color: #bfdbfe;
  background: #f8fbff;
}
.export-mini-groups-centered div {
  grid-template-columns: minmax(220px, 1fr) auto;
}
@media (max-width: 768px) {
  .export-mini-groups-centered div {
    grid-template-columns: 1fr;
  }
}

/* V23 — Exportar wide com estatísticas unificadas no expander */
.export-page > .container-fluid {
  max-width: none;
  padding-left: clamp(1rem, 2vw, 2rem);
  padding-right: clamp(1rem, 2vw, 2rem);
}
.export-summary-accordion {
  width: 100%;
}
.export-summary-accordion .accordion-item {
  border-radius: 1.25rem;
}
.export-summary-accordion .accordion-body {
  padding: clamp(1rem, 2vw, 2rem);
}
.export-totals-panel {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
}
.export-summary-card {
  min-height: 112px;
  height: 100%;
}
.export-summary-card span {
  min-height: 2.45em;
}
.export-group-results {
  max-width: 980px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 1rem;
}
.export-group-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.58rem 0.75rem;
  border: 1px dashed #cfe2ff;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.82);
}
.export-group-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #334155;
}
.export-group-row strong {
  white-space: nowrap;
  color: #0f172a;
}
@media (max-width: 992px) {
  .export-group-results {
    grid-template-columns: 1fr;
  }
}

/* V24 — Exportar: estatísticas agrupadas sem select bugado */
.export-grouped-stats {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.export-group-section {
  padding: 1rem;
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
}
.export-group-card {
  height: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
}
.export-group-card:hover {
  transform: translateY(-2px);
  border-color: #93c5fd;
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.1);
}
.export-group-card-title {
  font-weight: 800;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 0.7rem;
}
.export-group-card-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem 0.75rem;
  font-size: 0.9rem;
}
.export-group-card-grid span {
  color: #64748b;
}
.export-group-card-grid strong {
  color: #0f172a;
  text-align: right;
}
.help-signature {
  font-size: 0.9rem;
  color: #64748b;
}
.help-signature a {
  font-weight: 800;
  color: #0d6efd;
  text-decoration: none;
}
.help-signature a:hover {
  text-decoration: underline;
}

/* V25 — Exportar: expander wide com abas e cards Bootstrap */
.export-summary-wide {
  max-width: none;
  width: 100%;
}
.export-summary-wide .accordion-body {
  padding: clamp(1rem, 2.2vw, 2.2rem);
}
.export-totals-wide {
  max-width: none;
  width: 100%;
}
.export-stats-tabs {
  gap: 0.5rem;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  padding: 0.35rem;
  background: #f8fbff;
  width: fit-content;
  max-width: 100%;
}
.export-stats-tabs .nav-link {
  border-radius: 999px;
  font-weight: 800;
  color: #334155;
}
.export-stats-tabs .nav-link.active {
  color: #fff;
  background: linear-gradient(135deg, #0d6efd, #06b6d4);
  box-shadow: 0 8px 20px rgba(13, 110, 253, 0.22);
}
.export-stat-card {
  border: 1px solid #dbeafe !important;
  border-radius: 1.1rem;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
}
.export-stat-card:hover {
  transform: translateY(-2px);
  border-color: #93c5fd !important;
  box-shadow: 0 16px 34px rgba(37, 99, 235, 0.13) !important;
}
.export-stat-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.export-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.export-stat-grid div {
  border: 1px solid #e2e8f0;
  border-radius: 0.85rem;
  padding: 0.7rem 0.75rem;
  background: #fff;
}
.export-stat-grid span {
  display: block;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
}
.export-stat-grid strong {
  display: block;
  color: #0f172a;
  font-size: 1rem;
  margin-top: 0.15rem;
}
@media (max-width: 768px) {
  .export-stats-tabs {
    border-radius: 1rem;
  }
  .export-stats-tabs .nav-link {
    width: 100%;
  }
  .export-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* V26 — Exportar: cards mais discretos, filtro explicativo e assinatura única */
.export-mini-cards .export-summary-card {
  min-height: 96px;
  padding: 1rem;
  box-shadow: none;
  background: #ffffff;
}
.export-mini-cards .export-summary-card i {
  font-size: 1.3rem;
}
.export-mini-cards .export-summary-card span {
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
.export-mini-cards .export-summary-card strong {
  font-size: 1.25rem;
}
.export-filter-card {
  border-radius: 1.25rem;
}
.export-filter-placeholder {
  min-height: 86px;
  border: 1px dashed #bfdbfe;
  border-radius: 0.9rem;
  background: #f8fbff;
  color: #64748b;
  display: flex;
  align-items: center;
  padding: 0.9rem 1rem;
}
.export-filter-value {
  min-height: 86px;
}
.export-worked-toggle {
  min-height: 38px;
  justify-content: center;
  border: 1px solid #dbeafe;
  border-radius: 0.75rem;
  padding: 0.42rem 0.65rem;
  background: #fff;
}
.export-filter-result {
  border: 1px solid #dbeafe;
  background: #f8fbff;
  color: #334155;
  border-radius: 0.85rem;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
}
.help-signature {
  position: sticky;
  bottom: 1rem;
  z-index: 5;
}
.help-signature .rounded-pill,
.help-signature-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* V27 — Correções finais Exportar/Help */
.export-mini-cards .export-summary-card {
  min-height: 96px;
  padding: 1rem;
  box-shadow: none;
  background: #ffffff;
}
.export-mini-cards .export-summary-card i {
  font-size: 1.3rem;
}
.export-mini-cards .export-summary-card span {
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
.export-mini-cards .export-summary-card strong {
  font-size: 1.25rem;
}

.export-filter-card {
  border-radius: 1.25rem;
}
.export-filter-card .form-text {
  font-size: 0.78rem;
  color: #64748b;
}
.export-filter-placeholder {
  min-height: 86px;
  border: 1px dashed #bfdbfe;
  border-radius: 0.9rem;
  background: #f8fbff;
  color: #64748b;
  display: flex;
  align-items: center;
  padding: 0.9rem 1rem;
}
.export-filter-value {
  min-height: 86px;
}
.export-worked-toggle {
  min-height: 38px;
  justify-content: center;
  border: 1px solid #dbeafe;
  border-radius: 0.75rem;
  padding: 0.42rem 0.65rem;
  background: #fff;
}
.export-filter-result {
  border: 1px solid #dbeafe;
  background: #f8fbff;
  color: #334155;
  border-radius: 0.85rem;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
}

/* V28 — Assinatura no fluxo da página e multiselect amigável */
.help-page,
.help-section {
  min-height: calc(100vh - 110px);
  padding-bottom: 2rem;
}
.help-signature-footer {
  position: static;
  transform: none;
  margin: 3rem auto 0;
  text-align: center;
}
.help-signature-pill {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.export-check-dropdown .dropdown-menu {
  width: 100%;
  max-height: 320px;
  overflow: hidden;
}
.export-check-button {
  min-height: 44px;
  background: #fff;
}
.export-check-menu {
  border: 1px solid #bfdbfe;
  border-radius: 0.9rem;
}
.export-check-list {
  max-height: 250px;
  overflow: auto;
  padding: 0.35rem;
}
.export-check-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 0.65rem;
  padding: 0.55rem 0.65rem;
}
.export-check-item:hover {
  background: #eff6ff;
}
.export-check-item .form-check-input {
  flex: 0 0 auto;
}
.export-filter-row {
  justify-content: flex-end;
}

/* V29 — dropdown multiseleção sem fechar após marcação */
.export-check-dropdown .dropdown-menu.show {
  display: block;
}
.export-check-menu {
  z-index: 1060;
}
.export-filter-result {
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
}


/* TOTVS/PROTHEUS - página pós-upload */
.totvs-page .totvs-hero{
  background: linear-gradient(135deg, rgba(37,99,235,.045), rgba(20,184,166,.04)), #fff;
}
.totvs-page .totvs-card-clean{
  padding: .9rem 1.05rem;
  border-radius: 1rem;
  box-shadow: 0 8px 18px rgba(15,23,42,.025);
}
.totvs-hero-compact{
  display:flex;
  align-items:center;
  gap:.85rem;
}
.totvs-hero-mark{
  width:2.5rem;
  height:2.5rem;
  border-radius:.85rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #2563eb, #06b6d4);
  color:#fff;
  flex:0 0 auto;
}
.totvs-kicker{
  display:block;
  color:#0d47a1;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:.15rem;
}
.totvs-hero-title{max-width: 900px;}
.totvs-page .app-card{
  box-shadow: 0 8px 22px rgba(15,23,42,.035);
}
.totvs-workspace-toggle{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
}
.totvs-tab-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.45rem;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.035);
}
.totvs-tab-btn{
  border:0;
  background:transparent;
  border-radius:999px;
  padding:.65rem 1.05rem;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:#334155;
  font-weight:900;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.totvs-tab-btn small{
  color:#64748b;
  font-weight:800;
  margin-left:.2rem;
}
.totvs-tab-btn:hover{
  background:#f8fbff;
  transform:translateY(-1px);
}
.totvs-tab-btn.active{
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  color:#fff;
  box-shadow:0 10px 22px rgba(37,99,235,.20);
}
.totvs-tab-btn.active small{
  color:rgba(255,255,255,.86);
}
.totvs-columns-toggle{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  user-select:none;
}
.totvs-columns-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.totvs-columns-toggle span{
  display:inline-flex;
  align-items:center;
  border:1px solid #dbeafe;
  border-radius:999px;
  padding:.65rem 1rem;
  background:#fff;
  color:#334155;
  font-weight:900;
  box-shadow:0 10px 22px rgba(15,23,42,.03);
}
.totvs-columns-toggle input:checked + span{
  color:#0d6efd;
  border-color:#93c5fd;
  background:#eff6ff;
}
.totvs-tab-panels .totvs-panel{
  max-width:1120px;
  margin:0 auto;
}
.totvs-two-columns{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr);
  gap:1.25rem;
  align-items:start;
}
.totvs-hr-card .totvs-card-header{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(260px, 330px);
  gap: 1rem;
  align-items:start;
}
.totvs-card-heading{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
}
.totvs-file-icon{
  width:2.4rem;
  height:2.4rem;
  border-radius:.8rem;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  color:#15803d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.totvs-format-box{
  background: #f8fafc;
  border: 1px solid #dbeafe;
  border-radius: 1rem;
  padding: .75rem;
}
.totvs-format-box .btn-group .btn{
  font-weight: 800;
  padding:.5rem .65rem;
}
.totvs-filter-grid{
  display:grid;
  grid-template-columns: minmax(280px, 430px) minmax(190px, 260px) minmax(300px, 1fr);
  gap:1rem;
  align-items:start;
}
.totvs-field-wide{
  grid-column:auto;
}
.totvs-two-columns .totvs-hr-card .totvs-card-header,
.totvs-two-columns .totvs-filter-grid{
  grid-template-columns:1fr;
}
.totvs-two-columns .totvs-field-wide{
  grid-column:auto;
}
.totvs-context-banner{
  display:flex;
  gap:.65rem;
  align-items:center;
  border-radius: .95rem;
  padding: .65rem .8rem;
  border: 1px solid #dbeafe;
  background:#f8fbff;
}
.totvs-context-banner.is-success{border-color:#bbf7d0;background:#f0fdf4;}
.totvs-context-banner.is-warning{border-color:#fde68a;background:#fffbeb;}
.totvs-context-banner.is-info{border-color:#bae6fd;background:#f0f9ff;}
.totvs-context-banner.is-primary{border-color:#c7d2fe;background:#eef2ff;}
.totvs-context-banner.is-secondary{border-color:#e2e8f0;background:#f8fafc;}
.totvs-context-icon{
  width:2rem;
  height:2rem;
  border-radius:.7rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  color:#0f172a;
  flex:0 0 auto;
}
.totvs-context-content{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .6rem;
  color:#475569;
  font-size:.93rem;
}
.totvs-context-content strong{color:#0f172a;}
.totvs-download-strip{
  border: 1px solid #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #f8fafc);
  border-radius: 1.1rem;
  padding: 1rem;
}
.totvs-main-download{
  min-width: 280px;
  padding-inline: 1.35rem;
  box-shadow: 0 12px 22px rgba(37,99,235,.18);
}
.totvs-summary-card{
  overflow:hidden;
}
.totvs-summary-pill{
  border:1px solid #dbeafe;
  background:#f8fbff;
  color:#0d47a1;
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
.totvs-metrics-panel{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:.6rem;
}
.totvs-two-columns .totvs-metrics-panel{
  grid-template-columns:1fr;
}
.totvs-metric-item{
  border:1px solid #e2e8f0;
  border-radius:1rem;
  background:#fff;
  overflow:hidden;
}
.totvs-metric{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  width:100%;
  padding:.8rem .95rem;
  background:transparent;
  border:0;
  text-align:left;
}
.totvs-metric:hover{background:#f8fbff;}
.totvs-metric span{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.totvs-metric span small{
  color:#64748b;
  font-size:.79rem;
  font-weight:700;
}
.totvs-metric span b{
  color:#0f172a;
  font-size:.96rem;
  font-weight:700;
}
.totvs-metric strong{
  font-size:1.02rem;
  color:#0f172a;
  text-align:right;
  flex:0 0 auto;
}
.totvs-metric-detail{
  border-top:1px solid #e2e8f0;
  background:#f8fafc;
  padding:.8rem .95rem .95rem;
  color:#475569;
  font-size:.92rem;
}
.totvs-detail-list{
  display:grid;
  gap:.4rem;
  max-height:220px;
  overflow:auto;
  margin-top:.55rem;
}
.totvs-detail-item{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  padding:.45rem .6rem;
  border-radius:.75rem;
  border:1px solid #e2e8f0;
  background:#fff;
}
.totvs-detail-item span{color:#334155;}
.totvs-detail-item strong{
  color:#0f172a;
  white-space:nowrap;
}
.totvs-detail-empty{
  border:1px dashed #cbd5e1;
  border-radius:.75rem;
  padding:.7rem .8rem;
  color:#64748b;
  background:#fff;
}
@media (max-width: 1199.98px){
  .totvs-two-columns{
    grid-template-columns:1fr;
  }
  .totvs-filter-grid{
    grid-template-columns: 1fr 1fr;
  }
  .totvs-field-wide{
    grid-column:1 / -1;
  }
}
@media (max-width: 991.98px){
  .totvs-hr-card .totvs-card-header{
    grid-template-columns:1fr;
  }
  .totvs-format-box{width:100%;}
  .totvs-metrics-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width: 767.98px){
  .totvs-page .totvs-card-clean{padding: .85rem;}
  .totvs-hero-compact{align-items:flex-start;}
  .totvs-workspace-toggle{align-items:stretch;}
  .totvs-tab-nav{
    width:100%;
    border-radius:1rem;
    flex-direction:column;
  }
  .totvs-tab-btn{
    width:100%;
    justify-content:center;
  }
  .totvs-columns-toggle,
  .totvs-columns-toggle span{
    width:100%;
    justify-content:center;
  }
  .totvs-filter-grid{grid-template-columns:1fr;}
  .totvs-field-wide{grid-column:auto;}
  .totvs-main-download{width:100%; min-width:0;}
  .totvs-download-strip{padding:.9rem;}
  .totvs-metric{
    flex-direction:column;
    align-items:flex-start;
  }
  .totvs-metric strong{text-align:left;}
  .totvs-detail-item{
    flex-direction:column;
  }
}


/* TOTVS/PROTHEUS v7 — banners em duas colunas e saída mais informativa */
.totvs-hr-card .totvs-context-banner,
.totvs-hr-card .totvs-download-strip{
  min-height: 100%;
}

.totvs-context-banner{
  align-items:flex-start;
}

.totvs-context-content{
  display:block;
}

.totvs-context-content strong{
  display:block;
  margin-bottom:.2rem;
}

.totvs-context-content span{
  display:block;
  line-height:1.45;
}

.totvs-path-mark{
  display:inline-block;
  margin-left:.25rem;
  padding:.1rem .42rem;
  border-radius:.55rem;
  background:#dcfce7;
  color:#14532d;
  border:1px solid #86efac;
  font-weight:900;
}

.totvs-download-strip{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem;
  align-items:center;
}

.totvs-download-info{
  min-width:0;
}

.totvs-output-details{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.35rem .8rem;
  margin-top:.55rem;
  color:#475569;
  font-size:.88rem;
}

.totvs-output-details span{
  display:flex;
  align-items:flex-start;
  gap:.35rem;
  min-width:0;
}

.totvs-output-details i{
  color:#0d6efd;
  flex:0 0 auto;
  margin-top:.08rem;
}

.totvs-download-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:flex-end;
  align-items:center;
}

.totvs-main-download{
  white-space:normal;
}

.totvs-hr-card .totvs-context-banner + .totvs-download-strip{
  margin-top:0;
}

.totvs-hr-card .totvs-context-banner{
  grid-area:banner;
}

.totvs-hr-card .totvs-download-strip{
  grid-area:download;
}

.totvs-hr-card .totvs-output-row{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:1rem;
  align-items:stretch;
}

@media (min-width: 1200px){
  .totvs-hr-card .totvs-context-banner,
  .totvs-hr-card .totvs-download-strip{
    margin-bottom:0 !important;
  }
}

@media (max-width: 1199.98px){
  .totvs-hr-card .totvs-output-row{
    grid-template-columns:1fr;
  }
  .totvs-download-strip{
    grid-template-columns:1fr;
  }
  .totvs-download-actions{
    justify-content:flex-start;
  }
}

@media (max-width: 767.98px){
  .totvs-output-details{
    grid-template-columns:1fr;
  }
  .totvs-download-actions .btn{
    width:100%;
  }
}


/* V8 — Botões com animação suave e limpar filtro discreto */
@keyframes softPulseAction {
  0% {
    box-shadow: 0 0 0 0 rgba(13, 110, 253, .30), 0 12px 22px rgba(37,99,235,.18);
    transform: translateY(0);
  }
  50% {
    box-shadow: 0 0 0 .42rem rgba(13, 110, 253, .08), 0 16px 28px rgba(37,99,235,.22);
    transform: translateY(-1px);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(13, 110, 253, 0), 0 12px 22px rgba(37,99,235,.18);
    transform: translateY(0);
  }
}

.btn-soft-pulse {
  position: relative;
  overflow: hidden;
  animation: softPulseAction 2.6s ease-in-out infinite;
}

.btn-soft-pulse::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.32) 45%, transparent 70%);
  transform: translateX(-120%);
  animation: softShineAction 3.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes softShineAction {
  0%, 35% { transform: translateX(-120%); }
  65%, 100% { transform: translateX(120%); }
}

.btn-soft-pulse:hover {
  animation-play-state: paused;
  transform: translateY(-2px);
}

.totvs-download-actions {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.totvs-download-actions .totvs-main-download {
  width: 100%;
}

.totvs-clear-filter-link {
  align-self: center;
  padding: .2rem .45rem;
  color: #64748b;
  font-weight: 800;
  font-size: .88rem;
  text-decoration: none;
}

.totvs-clear-filter-link:hover {
  color: #dc2626;
  text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
  .btn-soft-pulse,
  .btn-soft-pulse::after {
    animation: none !important;
  }
}


/* V9 — modal de processamento moderno e ícone interativo no download */
.processing-overlay {
  background:
    radial-gradient(circle at 20% 20%, rgba(13,110,253,.22), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(6,182,212,.20), transparent 32%),
    rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(8px);
}

.processing-card-modern {
  position: relative;
  width: min(560px, 96vw);
  overflow: hidden;
  border: 1px solid rgba(219,234,254,.9);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.98));
}

.processing-card-modern::before {
  content: "";
  position: absolute;
  inset: -40% -30% auto -30%;
  height: 180px;
  background: linear-gradient(90deg, transparent, rgba(13,110,253,.10), rgba(6,182,212,.12), transparent);
  transform: rotate(-8deg);
  animation: processingGlow 3.4s ease-in-out infinite;
}

@keyframes processingGlow {
  0%, 100% { transform: translateX(-20%) rotate(-8deg); opacity: .6; }
  50% { transform: translateX(20%) rotate(-8deg); opacity: 1; }
}

.processing-orbit-wrap {
  position: relative;
  width: 116px;
  height: 116px;
  margin: 0 auto 1rem;
}

.processing-orbit {
  position: absolute;
  inset: 9px;
  border-radius: 999px;
  border: 3px solid rgba(13,110,253,.12);
  border-top-color: #0d6efd;
  border-right-color: #06b6d4;
  animation: processingSpin 1.2s linear infinite;
}

.processing-orbit::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 999px;
  border: 2px dashed rgba(6,182,212,.32);
  animation: processingSpinReverse 2.6s linear infinite;
}

.processing-core {
  position: absolute;
  inset: 30px;
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0d6efd, #06b6d4);
  color: #fff;
  font-size: 1.8rem;
  box-shadow: 0 18px 34px rgba(13,110,253,.28);
  animation: processingCorePulse 1.8s ease-in-out infinite;
}

.processing-float {
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #dbeafe;
  box-shadow: 0 10px 20px rgba(15,23,42,.10);
  font-size: 1rem;
}

.processing-float-a { top: 4px; right: 10px; animation: processingFloat 2.2s ease-in-out infinite; }
.processing-float-b { left: 2px; top: 48px; animation: processingFloat 2.2s ease-in-out .25s infinite; }
.processing-float-c { right: 4px; bottom: 12px; animation: processingFloat 2.2s ease-in-out .5s infinite; }

.processing-kicker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .45rem;
  padding: .24rem .7rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #0d47a1;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.processing-card-modern h2,
.processing-card-modern p,
.processing-card-modern .processing-stats,
.processing-card-modern .processing-progress,
.processing-card-modern .processing-hint {
  position: relative;
  z-index: 1;
}

.processing-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  margin: .75rem 0 .55rem;
}

.processing-percent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  border-radius: 999px;
  padding: .35rem .7rem;
  background: #0d6efd;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(13,110,253,.20);
}

.processing-time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: .35rem .65rem;
  border: 1px solid #dbeafe;
  background: #fff;
  color: #64748b;
  font-size: .86rem;
  font-weight: 800;
}

.processing-progress {
  height: .72rem !important;
  background: #e2e8f0;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.08);
}

.processing-progress .progress-bar {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg, #0d6efd, #06b6d4);
}

.processing-progress .progress-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
  transform: translateX(-100%);
  animation: processingBarShine 1.35s ease-in-out infinite;
}

.processing-hint {
  margin-top: .75rem;
  color: #64748b;
  font-size: .88rem;
  font-weight: 700;
}

@keyframes processingSpin { to { transform: rotate(360deg); } }
@keyframes processingSpinReverse { to { transform: rotate(-360deg); } }
@keyframes processingCorePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}
@keyframes processingFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes processingBarShine {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(120%); }
}

.totvs-download-icon {
  width: 1.85rem;
  height: 1.85rem;
  margin-right: .55rem;
  border-radius: .7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  vertical-align: middle;
}

.totvs-download-icon i {
  display: inline-block;
  font-size: 1.08rem;
  animation: downloadIconBounce 1.35s ease-in-out infinite;
}

.totvs-main-download:hover .totvs-download-icon i {
  animation: downloadIconDrop .7s ease-in-out infinite;
}

@keyframes downloadIconBounce {
  0%, 100% { transform: translateY(-1px); }
  50% { transform: translateY(3px); }
}

@keyframes downloadIconDrop {
  0% { transform: translateY(-5px); opacity: .55; }
  45% { transform: translateY(2px); opacity: 1; }
  100% { transform: translateY(5px); opacity: .75; }
}

@media (prefers-reduced-motion: reduce) {
  .processing-card-modern::before,
  .processing-orbit,
  .processing-orbit::after,
  .processing-core,
  .processing-float,
  .processing-progress .progress-bar::after,
  .totvs-download-icon i {
    animation: none !important;
  }
}


/* V10 — processamento mais leve e ícone de download rotativo */
.processing-overlay {
  backdrop-filter: none !important;
  background: rgba(15, 23, 42, 0.56) !important;
}

.processing-card-modern::before {
  animation-duration: 6s !important;
  opacity: .55;
}

.processing-orbit {
  animation-duration: 1.8s !important;
}

.processing-orbit::after {
  opacity: .45;
  animation-duration: 4.2s !important;
}

.processing-core {
  animation-duration: 2.8s !important;
}

.processing-float {
  display: none !important;
}

.processing-progress .progress-bar::after {
  animation-duration: 2.2s !important;
}

.totvs-download-icon {
  position: relative;
  overflow: hidden;
}

.totvs-icon-rotator {
  flex: 0 0 1.85rem;
}

.totvs-icon-rotator i {
  position: absolute;
  inset: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(8px) scale(.92);
  animation: totvsIconCycle 4.8s ease-in-out infinite !important;
}

.totvs-icon-rotator i:nth-child(1) { animation-delay: 0s !important; }
.totvs-icon-rotator i:nth-child(2) { animation-delay: 1.2s !important; }
.totvs-icon-rotator i:nth-child(3) { animation-delay: 2.4s !important; }
.totvs-icon-rotator i:nth-child(4) { animation-delay: 3.6s !important; }

.totvs-main-download:hover .totvs-icon-rotator i {
  animation-duration: 2.8s !important;
}

@keyframes totvsIconCycle {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(.92);
  }
  8%, 22% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  30%, 100% {
    opacity: 0;
    transform: translateY(-8px) scale(.92);
  }
}

@media (prefers-reduced-motion: reduce) {
  .totvs-icon-rotator i {
    animation: none !important;
  }
  .totvs-icon-rotator i:first-child {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* V11 — ícones refinados e toggle apenas com ícone */
.totvs-columns-toggle span.totvs-columns-toggle-icon{
  width: 46px;
  height: 46px;
  justify-content: center;
  padding: 0;
  position: relative;
}
.totvs-columns-toggle-icon i{
  position: absolute;
  font-size: 1.12rem;
  color: #0d6efd;
  transition: opacity .18s ease, transform .18s ease, color .18s ease;
}
.totvs-columns-toggle-icon i:last-child{
  opacity: 0;
  transform: scale(.8) rotate(-8deg);
}
.totvs-columns-toggle input:checked + .totvs-columns-toggle-icon i:first-child{
  opacity: 0;
  transform: scale(.8) rotate(8deg);
}
.totvs-columns-toggle input:checked + .totvs-columns-toggle-icon i:last-child{
  opacity: 1;
  transform: scale(1) rotate(0);
}
.totvs-columns-toggle input:checked + .totvs-columns-toggle-icon{
  background: #eff6ff;
}
.totvs-columns-toggle:hover .totvs-columns-toggle-icon{
  transform: translateY(-1px);
}

.totvs-format-option{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 74px;
}
.totvs-format-text{
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}
.totvs-format-text strong{
  font-size: .98rem;
}
.totvs-format-text small{
  color: inherit;
  opacity: .8;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.totvs-format-icon-card,
.totvs-download-icon{
  position: relative;
  overflow: hidden;
  border-radius: .78rem;
  background: #fff;
  border: 1px solid rgba(255,255,255,.42);
  box-shadow:
    inset 0 0 0 1px rgba(219,234,254,.9),
    0 8px 18px rgba(15,23,42,.10);
}

.totvs-format-icon-card{
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}

.totvs-download-icon{
  width: 2.1rem;
  height: 2.1rem;
  margin-right: .65rem;
  flex: 0 0 2.1rem;
}

.totvs-format-rotator i,
.totvs-icon-rotator i{
  position: absolute;
  inset: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(8px) scale(.92);
  animation: totvsIconCycle 7.2s ease-in-out infinite !important;
}

.totvs-format-rotator i:nth-child(1),
.totvs-icon-rotator i:nth-child(1){ animation-delay: 0s !important; }
.totvs-format-rotator i:nth-child(2),
.totvs-icon-rotator i:nth-child(2){ animation-delay: 1.2s !important; }
.totvs-format-rotator i:nth-child(3),
.totvs-icon-rotator i:nth-child(3){ animation-delay: 2.4s !important; }
.totvs-format-rotator i:nth-child(4),
.totvs-icon-rotator i:nth-child(4){ animation-delay: 3.6s !important; }
.totvs-icon-rotator i:nth-child(5){ animation-delay: 4.8s !important; }
.totvs-icon-rotator i:nth-child(6){ animation-delay: 6s !important; }

.totvs-format-rotator-csv i:nth-child(1),
.totvs-icon-rotator i:nth-child(1){ color:#2563eb; }
.totvs-format-rotator-csv i:nth-child(2),
.totvs-icon-rotator i:nth-child(2){ color:#0ea5e9; }
.totvs-format-rotator-csv i:nth-child(3),
.totvs-icon-rotator i:nth-child(3){ color:#7c3aed; }
.totvs-format-rotator-csv i:nth-child(4),
.totvs-icon-rotator i:nth-child(4){ color:#16a34a; }
.totvs-icon-rotator i:nth-child(5){ color:#eab308; }
.totvs-icon-rotator i:nth-child(6){ color:#ef4444; }

.totvs-format-rotator-xlsx i:nth-child(1){ color:#2563eb; }
.totvs-format-rotator-xlsx i:nth-child(2){ color:#16a34a; }
.totvs-format-rotator-xlsx i:nth-child(3){ color:#7c3aed; }
.totvs-format-rotator-xlsx i:nth-child(4){ color:#0ea5e9; }

.totvs-download-copy{
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .3rem .55rem;
}
.totvs-download-copy strong{
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .01em;
}
.totvs-download-copy em{
  display: inline-flex;
  align-items: center;
  padding: .14rem .52rem;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  font-size: .82rem;
  font-style: normal;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .02em;
  opacity: .96;
}

.totvs-main-download:hover .totvs-icon-rotator i,
.totvs-format-option:hover .totvs-format-rotator i{
  animation-duration: 4.6s !important;
}

@media (max-width: 767.98px){
  .totvs-columns-toggle span.totvs-columns-toggle-icon{
    width: 44px;
  }
  .totvs-format-option{
    min-height: 66px;
    gap: .45rem;
  }
  .totvs-format-text strong{
    font-size: .9rem;
  }
  .totvs-download-copy{
    align-items: center;
  }
}


/* V12 — refinamento de textos e rotação de ícones */
.totvs-format-text small{
  opacity: .68;
  font-size: .60rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.totvs-download-copy em{
  background: #ffffff;
  color: #2563eb;
  border: 1px solid rgba(191,219,254,.95);
  box-shadow: 0 6px 14px rgba(15,23,42,.10);
  font-size: .79rem;
  font-weight: 700;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .01em;
  padding: .18rem .58rem;
}

/* Rotação contínua sem quadro em branco */
.totvs-format-rotator i,
.totvs-icon-rotator i{
  animation-name: totvsIconCycleSeamless !important;
}

.totvs-format-rotator i:nth-child(1),
.totvs-icon-rotator i:nth-child(1){ animation-delay: 0s !important; }
.totvs-format-rotator i:nth-child(2),
.totvs-icon-rotator i:nth-child(2){ animation-delay: -1.2s !important; }
.totvs-format-rotator i:nth-child(3),
.totvs-icon-rotator i:nth-child(3){ animation-delay: -2.4s !important; }
.totvs-format-rotator i:nth-child(4),
.totvs-icon-rotator i:nth-child(4){ animation-delay: -3.6s !important; }
.totvs-icon-rotator i:nth-child(5){ animation-delay: -4.8s !important; }
.totvs-icon-rotator i:nth-child(6){ animation-delay: -6s !important; }

@keyframes totvsIconCycleSeamless {
  0% {
    opacity: 0;
    transform: translateY(8px) scale(.92);
  }
  6%, 24% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  32%, 100% {
    opacity: 0;
    transform: translateY(-8px) scale(.92);
  }
}

@media (max-width: 767.98px){
  .totvs-format-text small{
    font-size: .57rem;
  }
  .totvs-download-copy em{
    font-size: .74rem;
    padding: .16rem .5rem;
  }
}


/* V13 — dropdown de filtro com checkboxes e rotação mais lenta */
.totvs-filter-dropdown-btn {
  min-height: 44px;
  border-radius: 14px;
  font-weight: 700;
  background: #fff;
}
.totvs-filter-menu {
  width: min(520px, 92vw);
}
.totvs-filter-check-list {
  max-height: 220px;
}
.totvs-filter-check-item {
  user-select: none;
}
.totvs-filter-check-item .form-check-input {
  width: 1rem;
  height: 1rem;
}

/* desacelera a transição/rotação dos ícones */
.totvs-format-rotator i,
.totvs-icon-rotator i {
  animation-duration: 9.6s !important;
}
.totvs-main-download:hover .totvs-icon-rotator i,
.totvs-format-option:hover .totvs-format-rotator i {
  animation-duration: 6.6s !important;
}


/* V15 — correção definitiva da transição de ícones sem caixa em branco */
.totvs-format-rotator i,
.totvs-icon-rotator i{
  opacity: 0;
  transform: translateY(7px) scale(.94);
}

/* Toggle Formato da saída: 4 ícones, sem intervalo vazio */
.totvs-format-rotator i{
  animation-name: totvsIconCycle4 !important;
  animation-duration: 8s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
}
.totvs-format-rotator i:nth-child(1){ animation-delay: 0s !important; }
.totvs-format-rotator i:nth-child(2){ animation-delay: 2s !important; }
.totvs-format-rotator i:nth-child(3){ animation-delay: 4s !important; }
.totvs-format-rotator i:nth-child(4){ animation-delay: 6s !important; }

/* Botão HR Ahgora: 6 ícones, sem intervalo vazio */
.totvs-icon-rotator i{
  animation-name: totvsIconCycle6 !important;
  animation-duration: 12s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
}
.totvs-icon-rotator i:nth-child(1){ animation-delay: 0s !important; }
.totvs-icon-rotator i:nth-child(2){ animation-delay: 2s !important; }
.totvs-icon-rotator i:nth-child(3){ animation-delay: 4s !important; }
.totvs-icon-rotator i:nth-child(4){ animation-delay: 6s !important; }
.totvs-icon-rotator i:nth-child(5){ animation-delay: 8s !important; }
.totvs-icon-rotator i:nth-child(6){ animation-delay: 10s !important; }

@keyframes totvsIconCycle4 {
  0%, 3% {
    opacity: 0;
    transform: translateY(7px) scale(.94);
  }
  7%, 21% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  25%, 100% {
    opacity: 0;
    transform: translateY(-7px) scale(.94);
  }
}

@keyframes totvsIconCycle6 {
  0%, 2% {
    opacity: 0;
    transform: translateY(7px) scale(.94);
  }
  5%, 14% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  16.66%, 100% {
    opacity: 0;
    transform: translateY(-7px) scale(.94);
  }
}

/* fallback visual: se alguma animação falhar, o primeiro ícone nunca deixa o card vazio */
.totvs-format-rotator:not(:has(i:nth-child(2))) i:first-child,
.totvs-icon-rotator:not(:has(i:nth-child(2))) i:first-child{
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce){
  .totvs-format-rotator i,
  .totvs-icon-rotator i{
    animation: none !important;
    opacity: 0 !important;
  }
  .totvs-format-rotator i:first-child,
  .totvs-icon-rotator i:first-child{
    opacity: 1 !important;
    transform: none !important;
  }
}


/* V16 — tipo digitando e seletor único de formato */
.totvs-format-switch{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.totvs-format-primary{
  flex:1 1 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-height:74px;
  border-radius:1rem;
  color:#fff;
  border:1px solid transparent;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}
.totvs-format-primary.is-csv{
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
}
.totvs-format-primary.is-csv:hover{
  background:linear-gradient(135deg,#1d4ed8,#1e40af);
  color:#fff;
}
.totvs-format-primary.is-xlsx{
  background:linear-gradient(135deg,#16a34a,#22c55e);
}
.totvs-format-primary.is-xlsx:hover{
  background:linear-gradient(135deg,#15803d,#16a34a);
  color:#fff;
}
.totvs-format-cycle{
  width:42px;
  height:42px;
  border-radius:.9rem;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.totvs-format-cycle:hover{
  color:#2563eb;
  border-color:#93c5fd;
  background:#eff6ff;
}
.totvs-format-cycle i{
  transition:transform .2s ease;
}
.totvs-format-cycle:hover i{
  transform:rotate(90deg);
}

/* oculta estilos antigos do grupo duplo */
.totvs-format-box .btn-group{display:block;}

.totvs-pill-typewriter{
  min-width:0;
}
.totvs-pill-typewriter span{
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  width:0ch;
  max-width:21ch;
  vertical-align:bottom;
  border-right:1px solid rgba(37,99,235,.45);
  animation: totvsTypewriter 8s steps(21,end) infinite;
}
@keyframes totvsTypewriter{
  0%, 4% { width:0ch; }
  24% { width:21ch; }
  86% { width:21ch; }
  88%, 100% { width:0ch; }
}

@media (prefers-reduced-motion: reduce){
  .totvs-pill-typewriter span{
    animation:none !important;
    width:auto !important;
    border-right:0 !important;
    max-width:none !important;
  }
}

@media (max-width: 767.98px){
  .totvs-format-switch{
    gap:.45rem;
  }
  .totvs-format-primary{
    min-height:68px;
    gap:.55rem;
  }
}


/* V20 — correção efetiva do layout do banner e botões */
.totvs-output-row{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:1rem !important;
}
.totvs-output-row .totvs-context-banner,
.totvs-output-row .totvs-download-strip,
.totvs-output-row .totvs-download-actions-center{
  width:100%;
  max-width:980px;
  margin-inline:auto;
}
.totvs-output-row .totvs-context-banner{
  justify-content:center !important;
  text-align:left;
  padding:.9rem 1rem !important;
}
.totvs-output-row .totvs-context-banner.is-csv{
  border-color:#bfdbfe !important;
  background:linear-gradient(135deg,#eff6ff,#f8fbff 50%,#eef6ff) !important;
}
.totvs-output-row .totvs-context-banner.is-xlsx{
  border-color:#bbf7d0 !important;
  background:linear-gradient(135deg,#ecfdf5,#f7fffb 50%,#effcf5) !important;
}
.totvs-output-row .totvs-context-content{ width:100%; }
.totvs-output-row .totvs-context-content strong{ display:block; margin-bottom:.18rem; }
.totvs-output-row .totvs-download-strip{
  display:block !important;
  padding:1.1rem 1.15rem !important;
  border-width:1px !important;
  border-radius:1.15rem;
  box-shadow:0 14px 30px rgba(15,23,42,.05) !important;
}
.totvs-output-row .totvs-download-strip.is-csv{
  border-color:#bfdbfe !important;
  background:linear-gradient(135deg,#eff6ff,#f8fbff 45%,#eef6ff) !important;
}
.totvs-output-row .totvs-download-strip.is-xlsx{
  border-color:#bbf7d0 !important;
  background:linear-gradient(135deg,#ecfdf5,#f7fffb 45%,#effcf5) !important;
}
.totvs-download-headline{ text-align:center; margin-bottom:.85rem; }
.totvs-download-kicker{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.22rem .65rem; border-radius:999px; font-size:.73rem; font-weight:900;
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:.45rem;
}
.totvs-download-strip.is-csv .totvs-download-kicker{ background:#dbeafe; color:#1d4ed8; }
.totvs-download-strip.is-xlsx .totvs-download-kicker{ background:#dcfce7; color:#15803d; }
.totvs-download-title{ font-size:1.5rem; font-weight:900; color:#0f172a; line-height:1.15; }
.totvs-download-subtitle{ margin-top:.28rem; color:#64748b; font-size:.93rem; }
.totvs-output-row .totvs-output-details{
  display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.7rem .95rem !important; margin-top:.8rem !important;
}
.totvs-output-row .totvs-output-details span{
  padding:.58rem .7rem; border-radius:.85rem; background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.95); box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.totvs-output-row .totvs-output-details span b{ color:#0f172a; margin-right:.2rem; }
.totvs-download-actions-center{
  display:flex !important; flex-direction:column !important; align-items:center !important;
  justify-content:center !important; gap:.4rem !important;
}
.totvs-download-actions-center .totvs-main-download{ width:min(780px, 100%) !important; }
.totvs-download-actions-center .totvs-clear-filter-link{ margin-top:.05rem; }
@media (max-width: 767.98px){
  .totvs-output-row .totvs-context-banner,
  .totvs-output-row .totvs-download-strip,
  .totvs-output-row .totvs-download-actions-center{ max-width:100%; }
  .totvs-download-title{ font-size:1.2rem; }
  .totvs-output-row .totvs-output-details{ grid-template-columns:1fr !important; }
}

/* V28 — Modal HR Ahgora pós-upload */
.hr-ready-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(12px);
  animation:hrReadyFade .22s ease both;
}
.hr-ready-modal{
  position:relative;
  width:min(520px, 100%);
  overflow:hidden;
  border-radius:2rem;
  padding:2rem;
  text-align:center;
  background:linear-gradient(145deg,#ffffff,#f8fbff 45%,#ecfeff);
  border:1px solid rgba(191,219,254,.95);
  box-shadow:0 28px 80px rgba(15,23,42,.25), inset 0 1px 0 rgba(255,255,255,.9);
  animation:hrReadyPop .28s cubic-bezier(.2,.9,.2,1.08) both;
}
.hr-ready-glow{
  position:absolute;
  width:260px;
  height:260px;
  left:50%;
  top:-145px;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(34,197,94,.28), rgba(14,165,233,.18) 45%, transparent 70%);
  pointer-events:none;
}
.hr-ready-close{
  position:absolute;
  right:1rem;
  top:1rem;
  z-index:2;
  width:38px;
  height:38px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.18s ease;
}
.hr-ready-close:hover{
  color:#0f172a;
  border-color:#93c5fd;
  transform:rotate(90deg);
}
.hr-ready-icon-wrap{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  margin-bottom:.8rem;
}
.hr-ready-icon-card{
  width:92px;
  height:92px;
  border-radius:1.55rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:#fff;
  box-shadow:0 18px 35px rgba(22,163,74,.28);
}
.hr-ready-icon-card i{
  font-size:3rem;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));
}
.hr-ready-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.34rem .75rem;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-weight:900;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  margin-bottom:.7rem;
}
.hr-ready-title{
  position:relative;
  z-index:1;
  font-size:1.65rem;
  line-height:1.15;
  font-weight:950;
  color:#0f172a;
  margin:0 0 .45rem;
}
.hr-ready-text{
  color:#64748b;
  margin:0 auto 1rem;
  max-width:390px;
}
.hr-ready-file-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.12rem;
  margin:1.05rem auto 1.25rem;
  padding:1rem;
  border-radius:1.25rem;
  background:rgba(255,255,255,.84);
  border:1px solid #bbf7d0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 24px rgba(15,23,42,.06);
}
.hr-ready-file-card strong{
  font-size:1.22rem;
  font-weight:950;
  color:#0f172a;
}
.hr-ready-file-card span{
  display:inline-flex;
  padding:.22rem .65rem;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-size:.82rem;
  font-weight:900;
}
.hr-ready-file-card small{
  margin-top:.25rem;
  color:#64748b;
  font-weight:700;
}
.hr-ready-actions{
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.hr-ready-download{
  border:0;
  border-radius:1rem;
  padding:.9rem 1rem;
  color:#fff;
  font-weight:950;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 16px 35px rgba(37,99,235,.28);
}
.hr-ready-download:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 18px 38px rgba(37,99,235,.34);
}
.hr-ready-secondary{
  border:1px solid #cbd5e1;
  border-radius:1rem;
  padding:.78rem 1rem;
  background:#fff;
  color:#475569;
  font-weight:850;
}
.hr-ready-secondary:hover{
  background:#f8fafc;
  border-color:#94a3b8;
  color:#0f172a;
}
@keyframes hrReadyFade{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes hrReadyPop{
  from{opacity:0; transform:translateY(16px) scale(.96);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
@media (max-width:575.98px){
  .hr-ready-modal{padding:1.45rem; border-radius:1.5rem;}
  .hr-ready-icon-card{width:78px; height:78px;}
  .hr-ready-icon-card i{font-size:2.55rem;}
  .hr-ready-title{font-size:1.35rem;}
}


/* V29 — refinamento do modal HR Ahgora pós-upload */
.hr-ready-modal{
  width:min(540px, 100%);
  padding:2rem 2rem 1.85rem;
}
.hr-ready-title{
  display:none !important;
}
.hr-ready-text{
  margin-top:.2rem;
  margin-bottom:1rem;
}
.hr-ready-file-card{
  margin:1rem auto .9rem;
  padding:1.05rem 1rem 1rem;
}
.hr-ready-file-card small{
  display:none;
}
.hr-ready-stats{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:.45rem;
  margin-top:.85rem;
}
.hr-ready-stats div{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:.45rem .4rem;
  border-radius:.9rem;
  background:linear-gradient(180deg, rgba(248,250,252,.95), rgba(255,255,255,.9));
  border:1px solid #e2e8f0;
}
.hr-ready-stats b{
  line-height:1;
  font-size:1.08rem;
  font-weight:950;
  color:#0f172a;
}
.hr-ready-stats small{
  display:block;
  margin-top:.22rem;
  color:#64748b;
  font-size:.72rem;
  font-weight:850;
}
.hr-ready-path-hint{
  margin:.2rem auto .95rem;
  color:#64748b;
  font-size:.86rem;
  font-weight:750;
}
.hr-ready-actions{
  gap:0;
}
.hr-ready-secondary{
  display:none !important;
}
.hr-ready-download{
  position:relative;
  width:100%;
  min-height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.72rem;
  overflow:hidden;
  border-radius:1.05rem;
}
.hr-ready-download::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform:translateX(-120%);
  animation:hrReadyButtonShine 4.2s ease-in-out infinite;
  pointer-events:none;
}
.hr-ready-download-icon{
  position:relative;
  z-index:1;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:.85rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.96);
  color:#2563eb;
  box-shadow:0 8px 20px rgba(15,23,42,.12);
}
.hr-ready-icon-rotator i{
  position:absolute;
  opacity:0;
  transform:translateY(7px) scale(.94);
  animation:hrReadyIconCycle4 8s ease-in-out infinite;
}
.hr-ready-icon-rotator i:nth-child(1){ animation-delay:0s; }
.hr-ready-icon-rotator i:nth-child(2){ animation-delay:2s; }
.hr-ready-icon-rotator i:nth-child(3){ animation-delay:4s; }
.hr-ready-icon-rotator i:nth-child(4){ animation-delay:6s; }
.hr-ready-download-copy{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-width:0;
}
.hr-ready-download-copy strong{
  color:#fff;
  font-size:1rem;
  font-weight:950;
  letter-spacing:.01em;
}
.hr-ready-download-copy em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.22rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#2563eb;
  font-style:normal;
  font-size:.76rem;
  font-weight:950;
  max-width:190px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@keyframes hrReadyButtonShine{
  0%, 40%{ transform:translateX(-120%); }
  70%, 100%{ transform:translateX(120%); }
}
@keyframes hrReadyIconCycle4{
  0%,3%{ opacity:0; transform:translateY(7px) scale(.94); }
  7%,21%{ opacity:1; transform:translateY(0) scale(1); }
  25%,100%{ opacity:0; transform:translateY(-7px) scale(.94); }
}
@media (max-width:575.98px){
  .hr-ready-stats{
    grid-template-columns:1fr;
  }
  .hr-ready-download-copy{
    flex-direction:column;
    gap:.18rem;
  }
}


/* V30 — modal HR Ahgora pós-upload: vazio, typewriter, ícones coloridos e marcas d'água */
.hr-ready-modal{
  isolation:isolate;
}
.hr-ready-modal::before{
  content:"";
  position:absolute;
  inset:auto -90px -125px auto;
  width:280px;
  height:280px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(37,99,235,.10), rgba(6,182,212,.07) 45%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.hr-ready-watermark{
  position:absolute;
  right:1.25rem;
  bottom:1rem;
  z-index:0;
  font-size:3.3rem;
  font-weight:950;
  letter-spacing:.06em;
  color:rgba(15,23,42,.045);
  transform:rotate(-7deg);
  pointer-events:none;
  user-select:none;
}
.hr-ready-modal.is-empty .hr-ready-glow{
  background:radial-gradient(circle, rgba(251,191,36,.30), rgba(14,165,233,.12) 45%, transparent 70%);
}
.hr-ready-modal.is-empty .hr-ready-icon-card{
  background:linear-gradient(135deg,#f59e0b,#fbbf24);
  box-shadow:0 18px 35px rgba(245,158,11,.24);
}
.hr-ready-kicker.is-empty{
  background:#fef3c7;
  color:#92400e;
}
.hr-ready-file-card{
  position:relative;
  overflow:hidden;
  z-index:1;
}
.hr-ready-file-card::after{
  content:attr(data-watermark);
  position:absolute;
  right:.85rem;
  bottom:.2rem;
  font-size:3.2rem;
  font-weight:950;
  color:rgba(22,163,74,.055);
  letter-spacing:.06em;
  pointer-events:none;
}
.hr-ready-scope-pill{
  display:inline-flex;
  padding:.22rem .65rem;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-size:.82rem;
  font-weight:900;
  max-width:100%;
}
.hr-ready-scope-pill span{
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  width:0ch;
  max-width:21ch;
  border-right:1px solid rgba(21,128,61,.45);
  animation:hrReadyTypewriter 8s steps(21,end) infinite;
}
.hr-ready-stats div{
  position:relative;
  overflow:hidden;
}
.hr-ready-stats div::after{
  content:attr(data-watermark);
  position:absolute;
  right:.34rem;
  bottom:-.15rem;
  font-size:1.55rem;
  font-weight:950;
  color:rgba(15,23,42,.055);
  letter-spacing:.04em;
  pointer-events:none;
}
.hr-ready-stats small strong{
  color:#0f172a;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.01em;
}
.hr-ready-path-hint{
  margin:.65rem auto 0;
  font-size:.82rem;
}
.hr-ready-download{
  min-height:54px;
  border-radius:.95rem;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 12px 26px rgba(37,99,235,.20);
}
.hr-ready-download:hover{
  box-shadow:0 14px 30px rgba(37,99,235,.26);
}
.hr-ready-download-icon{
  color:transparent;
}
.hr-ready-icon-rotator i:nth-child(1){ color:#2563eb; }
.hr-ready-icon-rotator i:nth-child(2){ color:#16a34a; }
.hr-ready-icon-rotator i:nth-child(3){ color:#7c3aed; }
.hr-ready-icon-rotator i:nth-child(4){ color:#0284c7; }
.hr-ready-download-copy strong{
  font-size:.96rem;
}
.hr-ready-download-copy em{
  background:rgba(255,255,255,.94);
  color:#2563eb;
  max-width:205px;
}
.hr-ready-download-copy em span{
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  width:0ch;
  max-width:21ch;
  border-right:1px solid rgba(37,99,235,.45);
  animation:hrReadyButtonTypewriter 8s steps(21,end) infinite;
}
.hr-ready-empty-note{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  width:100%;
  margin-top:.15rem;
  padding:.75rem .85rem;
  border-radius:1rem;
  background:#fffbeb;
  border:1px solid #fde68a;
  color:#92400e;
  font-size:.86rem;
  font-weight:850;
}
@keyframes hrReadyTypewriter{
  0%, 4%{ width:0ch; }
  24%{ width:21ch; }
  86%{ width:21ch; }
  88%, 100%{ width:0ch; }
}
@keyframes hrReadyButtonTypewriter{
  0%, 4%{ width:0ch; }
  24%{ width:21ch; }
  86%{ width:21ch; }
  88%, 100%{ width:0ch; }
}
@media (prefers-reduced-motion: reduce){
  .hr-ready-scope-pill span,
  .hr-ready-download-copy em span{
    animation:none !important;
    width:auto !important;
    border-right:0 !important;
  }
}


/* V31 — refinamento final do modal HR Ahgora */
.hr-ready-modal-backdrop{
  cursor:default;
}

/* botão mais compacto, clean e ajustado ao conteúdo */
.hr-ready-actions{
  align-items:center;
}
.hr-ready-download{
  width:auto !important;
  min-width:0 !important;
  max-width:100%;
  padding:.78rem 1.15rem !important;
  min-height:50px !important;
  border-radius:.95rem !important;
  gap:.62rem !important;
  box-shadow:0 10px 22px rgba(37,99,235,.18) !important;
}
.hr-ready-download-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  border-radius:.8rem !important;
}
.hr-ready-download-copy{
  gap:.42rem !important;
}
.hr-ready-download-copy strong{
  font-size:.95rem !important;
  letter-spacing:.01em;
}
.hr-ready-download-copy em{
  max-width:none !important;
  padding:.18rem .48rem !important;
  font-size:.76rem !important;
  border-radius:999px;
  color:#2563eb;
  background:#fff;
  line-height:1.15;
  animation:none !important;
  width:auto !important;
  border-right:0 !important;
}
.hr-ready-download-copy em span{
  animation:none !important;
  width:auto !important;
  border-right:0 !important;
}

/* marcas d'água dos cards mais discretas e sem sobreposição ruim */
.hr-ready-file-card::after{
  content:"CSV";
  right:1rem;
  bottom:.55rem;
  font-size:2.4rem;
  color:rgba(22,163,74,.035);
  transform:rotate(-6deg);
}
.hr-ready-stats div::after{
  right:.42rem;
  bottom:.18rem;
  font-size:1.25rem;
  color:rgba(15,23,42,.04);
}
.hr-ready-stats div[data-watermark="147"]::after{
  content:"";
}
.hr-ready-stats div{
  padding:.5rem .55rem .62rem;
}
.hr-ready-stats b,
.hr-ready-stats small{
  position:relative;
  z-index:1;
}

/* pill superior continua digitando, mas com cursor mais sutil */
.hr-ready-scope-pill span{
  border-right-color:rgba(21,128,61,.28);
}

/* frase de caminho sempre abaixo do botão e discreta */
.hr-ready-path-hint{
  margin:.72rem auto 0 !important;
  font-size:.82rem !important;
  color:#64748b;
}

/* compactação mobile */
@media (max-width:575.98px){
  .hr-ready-download{
    width:auto !important;
    padding:.72rem 1rem !important;
  }
}


/* V32 — modal HR Ahgora: flip cards, ciclo de escalas e texto refinado */
.hr-ready-text{
  max-width:520px !important;
  margin:.85rem auto 1.1rem !important;
  font-size:1.02rem !important;
  line-height:1.55 !important;
}
.hr-ready-file-card::after{
  content:"HR";
  right:1rem;
  top:.75rem;
  bottom:auto;
  font-size:2.2rem;
  color:rgba(22,163,74,.032);
  transform:rotate(-6deg);
}
.hr-ready-scope-pill{
  position:relative;
  min-width:230px;
  height:32px;
  align-items:center;
  justify-content:center;
}
.hr-ready-scope-pill > span{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  width:0ch;
  max-width:22ch;
  opacity:0;
  border-right:1px solid rgba(21,128,61,.28);
}
.hr-ready-scope-pill > span:nth-child(1){ animation:hrReadyCycleType1 24s steps(22,end) infinite; }
.hr-ready-scope-pill > span:nth-child(2){ animation:hrReadyCycleType2 24s steps(11,end) infinite; }
.hr-ready-scope-pill > span:nth-child(3){ animation:hrReadyCycleType3 24s steps(11,end) infinite; }

@keyframes hrReadyCycleType1{
  0%,1%{opacity:1;width:0ch;}
  10%{opacity:1;width:22ch;}
  29%{opacity:1;width:22ch;}
  32%,100%{opacity:0;width:0ch;}
}
@keyframes hrReadyCycleType2{
  0%,33%{opacity:0;width:0ch;}
  34%{opacity:1;width:0ch;}
  44%{opacity:1;width:11ch;}
  62%{opacity:1;width:11ch;}
  65%,100%{opacity:0;width:0ch;}
}
@keyframes hrReadyCycleType3{
  0%,66%{opacity:0;width:0ch;}
  67%{opacity:1;width:0ch;}
  77%{opacity:1;width:11ch;}
  95%{opacity:1;width:11ch;}
  98%,100%{opacity:0;width:0ch;}
}

/* Flip estatístico */
.hr-ready-stats{
  align-items:stretch;
}
.hr-ready-flip-card{
  perspective:900px;
  min-height:86px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.hr-ready-flip-card::after{
  content:attr(data-watermark);
  position:absolute;
  right:.55rem;
  bottom:.28rem;
  font-size:1.28rem;
  font-weight:950;
  color:rgba(15,23,42,.045);
  letter-spacing:.04em;
  pointer-events:none;
  z-index:3;
}
.hr-ready-flip-card[data-watermark="147"]::after{
  content:"147";
}
.hr-ready-flip-inner{
  position:relative;
  width:100%;
  height:100%;
  min-height:86px;
  transform-style:preserve-3d;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.hr-ready-flip-card:hover .hr-ready-flip-inner,
.hr-ready-flip-card:focus-within .hr-ready-flip-inner{
  transform:rotateY(180deg);
}
.hr-ready-flip-face{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:.58rem .5rem;
  border-radius:.9rem;
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.93));
  border:1px solid #e2e8f0;
  backface-visibility:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.hr-ready-back{
  transform:rotateY(180deg);
  background:linear-gradient(180deg, rgba(239,246,255,.98), rgba(255,255,255,.95));
}
.hr-ready-back strong{
  color:#0f172a;
  font-size:.78rem;
  font-weight:950;
  margin-bottom:.2rem;
}
.hr-ready-back span{
  color:#64748b;
  font-size:.7rem;
  font-weight:850;
  line-height:1.22;
}
.hr-ready-front b,
.hr-ready-front small{
  position:relative;
  z-index:2;
}
.hr-ready-stats div::after{
  content:none !important;
}

/* remove qualquer CSV perdido no card de intrajornada */
.hr-ready-file-card .hr-ready-flip-card[data-watermark="147"]::after{
  content:"147" !important;
}

/* botão mais limpo ainda */
.hr-ready-download{
  padding:.74rem 1.08rem !important;
  box-shadow:0 10px 24px rgba(37,99,235,.16) !important;
}
.hr-ready-download-copy em{
  min-width:auto !important;
}
.hr-ready-download-copy em::before{
  content:"";
}

@media (prefers-reduced-motion: reduce){
  .hr-ready-scope-pill > span{
    position:static !important;
    transform:none !important;
    width:auto !important;
    opacity:1 !important;
    border-right:0 !important;
    animation:none !important;
  }
  .hr-ready-scope-pill > span:nth-child(n+2){
    display:none !important;
  }
  .hr-ready-flip-inner{
    transform:none !important;
  }
  .hr-ready-back{
    display:none !important;
  }
}

@media (max-width:575.98px){
  .hr-ready-scope-pill{
    min-width:210px;
  }
  .hr-ready-flip-card,
  .hr-ready-flip-inner{
    min-height:78px !important;
  }
}


/* V33 — correção typewriter, cores por escala, flip legível e navegação no X */
.hr-ready-scope-pill{
  background:transparent !important;
  min-width:260px !important;
  width:260px !important;
  overflow:hidden !important;
}
.hr-ready-scope-pill > span{
  max-width:none !important;
  border-right:0 !important;
  text-align:center !important;
  padding:.22rem .74rem !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
  line-height:1.2 !important;
}

/* desliga animações antigas que adicionavam largura incorreta e deixavam caracteres estranhos */
.hr-ready-scope-pill > span:nth-child(1),
.hr-ready-scope-pill > span:nth-child(2),
.hr-ready-scope-pill > span:nth-child(3){
  animation-duration:24s !important;
  animation-timing-function:steps(23,end) !important;
  animation-iteration-count:infinite !important;
}

/* Escala de Revezamento — verde */
.hr-ready-scope-pill > span:nth-child(1){
  background:#dcfce7 !important;
  color:#15803d !important;
  animation-name:hrReadyScopeText1 !important;
}
/* Escala 12x36 — azul */
.hr-ready-scope-pill > span:nth-child(2){
  background:#dbeafe !important;
  color:#1d4ed8 !important;
  animation-name:hrReadyScopeText2 !important;
}
/* Escala 24x72 — roxo */
.hr-ready-scope-pill > span:nth-child(3){
  background:#ede9fe !important;
  color:#6d28d9 !important;
  animation-name:hrReadyScopeText3 !important;
}

@keyframes hrReadyScopeText1{
  0%, 1% { opacity:1; width:0ch; }
  11% { opacity:1; width:23ch; }
  30% { opacity:1; width:23ch; }
  32%, 100% { opacity:0; width:0ch; }
}
@keyframes hrReadyScopeText2{
  0%, 33% { opacity:0; width:0ch; }
  34% { opacity:1; width:0ch; }
  44% { opacity:1; width:12ch; }
  63% { opacity:1; width:12ch; }
  65%, 100% { opacity:0; width:0ch; }
}
@keyframes hrReadyScopeText3{
  0%, 66% { opacity:0; width:0ch; }
  67% { opacity:1; width:0ch; }
  77% { opacity:1; width:12ch; }
  96% { opacity:1; width:12ch; }
  98%, 100% { opacity:0; width:0ch; }
}

/* Flip corrigido: não espelha a frente; exibe verso útil */
.hr-ready-flip-card{
  position:relative !important;
  transform-style:preserve-3d !important;
}
.hr-ready-flip-inner{
  position:relative !important;
  min-height:92px !important;
  transform-style:preserve-3d !important;
}
.hr-ready-flip-face{
  -webkit-backface-visibility:hidden !important;
  backface-visibility:hidden !important;
  transform-style:preserve-3d !important;
}
.hr-ready-front{
  transform:rotateY(0deg) !important;
}
.hr-ready-back{
  transform:rotateY(180deg) !important;
  gap:.12rem;
}
.hr-ready-back strong,
.hr-ready-back span{
  transform:translateZ(1px);
}
.hr-ready-flip-card:hover .hr-ready-flip-inner{
  transform:rotateY(180deg) !important;
}
.hr-ready-flip-card:hover .hr-ready-front{
  opacity:0 !important;
}
.hr-ready-flip-card:hover .hr-ready-back{
  opacity:1 !important;
}
.hr-ready-back span{
  display:block;
  font-size:.68rem !important;
}

/* marca d'água por card melhor posicionada */
.hr-ready-flip-card::after{
  right:.5rem !important;
  bottom:.18rem !important;
  font-size:1.05rem !important;
  opacity:.75;
}
.hr-ready-flip-card[data-watermark="147"]::after{
  content:"147" !important;
}

/* texto principal melhor posicionado */
.hr-ready-text{
  margin:.75rem auto 1.05rem !important;
  max-width:500px !important;
  text-align:center !important;
  text-wrap:balance;
}

@media (max-width:575.98px){
  .hr-ready-scope-pill{
    width:238px !important;
    min-width:238px !important;
  }
}


/* V34 — modal HR Ahgora: cards simples, sem flip, e pills centralizados */
.hr-ready-stats{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:.55rem !important;
  align-items:stretch !important;
}
.hr-ready-stat-card{
  position:relative;
  min-height:104px;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.18rem;
  padding:.68rem .55rem .72rem !important;
  border-radius:1rem !important;
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.94)) !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 6px 16px rgba(15,23,42,.035) !important;
  overflow:hidden;
}
.hr-ready-stat-card::after{
  content:attr(data-watermark);
  position:absolute;
  right:.52rem;
  bottom:.22rem;
  z-index:0;
  font-size:1.35rem;
  font-weight:950;
  color:rgba(15,23,42,.04);
  letter-spacing:.04em;
  pointer-events:none;
}
.hr-ready-stat-card b,
.hr-ready-stat-card small,
.hr-ready-stat-card em{
  position:relative;
  z-index:1;
}
.hr-ready-stat-card b{
  line-height:1;
  font-size:1.12rem;
  font-weight:950;
  color:#0f172a;
}
.hr-ready-stat-card small{
  display:block !important;
  color:#64748b;
  font-size:.7rem;
  font-weight:850;
  line-height:1.23;
}
.hr-ready-stat-card small strong{
  display:inline-block;
  margin-bottom:.06rem;
  color:#0f172a;
  font-size:.72rem;
  font-weight:950;
}
.hr-ready-stat-card em{
  display:block;
  margin-top:.12rem;
  color:#64748b;
  font-style:normal;
  font-size:.62rem;
  font-weight:850;
  line-height:1.18;
}

/* Desliga completamente o flip antigo */
.hr-ready-flip-card,
.hr-ready-flip-inner,
.hr-ready-flip-face,
.hr-ready-front,
.hr-ready-back{
  transform:none !important;
  backface-visibility:visible !important;
  perspective:none !important;
}
.hr-ready-flip-card:hover .hr-ready-flip-inner,
.hr-ready-flip-card:hover .hr-ready-front,
.hr-ready-flip-card:hover .hr-ready-back{
  transform:none !important;
  opacity:1 !important;
}

/* Pill de escalas: centralizado, largura correta e sem cortar texto */
.hr-ready-scope-pill{
  position:relative !important;
  width:270px !important;
  min-width:270px !important;
  max-width:100% !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:transparent !important;
  padding:0 !important;
}
.hr-ready-scope-pill > span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:30px !important;
  padding:0 .75rem !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-align:center !important;
  border-radius:999px !important;
  border-right:0 !important;
  opacity:0;
  max-width:260px !important;
}

/* A animação usa largura em px para não cortar 12x36/24x72 e não aparecer caractere extra */
.hr-ready-scope-pill > span:nth-child(1){
  background:#dcfce7 !important;
  color:#15803d !important;
  animation:hrScopeTypeRevez 24s steps(22,end) infinite !important;
}
.hr-ready-scope-pill > span:nth-child(2){
  background:#dbeafe !important;
  color:#1d4ed8 !important;
  animation:hrScopeType1236 24s steps(11,end) infinite !important;
}
.hr-ready-scope-pill > span:nth-child(3){
  background:#ede9fe !important;
  color:#6d28d9 !important;
  animation:hrScopeType2472 24s steps(11,end) infinite !important;
}

@keyframes hrScopeTypeRevez{
  0%, 1% { opacity:1; width:0; }
  11% { opacity:1; width:230px; }
  31% { opacity:1; width:230px; }
  33%, 100% { opacity:0; width:0; }
}
@keyframes hrScopeType1236{
  0%, 33% { opacity:0; width:0; }
  34% { opacity:1; width:0; }
  44% { opacity:1; width:132px; }
  64% { opacity:1; width:132px; }
  66%, 100% { opacity:0; width:0; }
}
@keyframes hrScopeType2472{
  0%, 66% { opacity:0; width:0; }
  67% { opacity:1; width:0; }
  77% { opacity:1; width:132px; }
  97% { opacity:1; width:132px; }
  99%, 100% { opacity:0; width:0; }
}

@media (max-width:575.98px){
  .hr-ready-stats{
    grid-template-columns:1fr !important;
  }
  .hr-ready-stat-card{
    min-height:86px;
  }
  .hr-ready-scope-pill{
    width:250px !important;
    min-width:250px !important;
  }
}


/* V35 — modal HR Ahgora com 2 cards principais */
.hr-ready-stats.hr-ready-stats-two{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  max-width:420px;
  margin-inline:auto;
}
.hr-ready-stat-card-strong{
  min-height:112px !important;
}
.hr-ready-stat-card-strong b{
  font-size:1.12rem !important;
  margin:.08rem 0;
}
.hr-ready-stat-card-strong small strong{
  font-size:.78rem !important;
  color:#0f172a;
}
.hr-ready-stat-card-strong em{
  font-size:.66rem !important;
  max-width:150px;
}
.hr-ready-stat-card-strong span{
  position:relative;
  z-index:1;
  display:inline-flex;
  margin-top:.12rem;
  padding:.14rem .45rem;
  border-radius:999px;
  background:#ecfdf5;
  color:#15803d;
  font-size:.62rem;
  font-weight:950;
}
.hr-ready-stat-card-strong[data-watermark="147"] span{
  background:#eff6ff;
  color:#1d4ed8;
}
.hr-ready-stat-card-strong::after{
  font-size:1.55rem !important;
  color:rgba(15,23,42,.035) !important;
}
@media (max-width:575.98px){
  .hr-ready-stats.hr-ready-stats-two{
    grid-template-columns:1fr !important;
    max-width:100%;
  }
}


/* V36 — modal bonito para upload sem registros extraídos */
.upload-empty-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(10px);
  animation:uploadEmptyFade .22s ease both;
}
.upload-empty-modal{
  position:relative;
  width:min(540px, 100%);
  overflow:hidden;
  border-radius:2rem;
  padding:2rem;
  text-align:center;
  background:linear-gradient(145deg,#ffffff,#f8fbff 48%,#fff7ed);
  border:1px solid rgba(254,215,170,.95);
  box-shadow:0 28px 80px rgba(15,23,42,.25), inset 0 1px 0 rgba(255,255,255,.9);
  animation:uploadEmptyPop .28s cubic-bezier(.2,.9,.2,1.08) both;
}
.upload-empty-glow{
  position:absolute;
  width:280px;
  height:280px;
  left:50%;
  top:-155px;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(245,158,11,.26), rgba(14,165,233,.12) 45%, transparent 70%);
  pointer-events:none;
}
.upload-empty-watermark{
  position:absolute;
  right:1.2rem;
  bottom:.8rem;
  z-index:0;
  font-size:3.3rem;
  font-weight:950;
  letter-spacing:.06em;
  color:rgba(15,23,42,.045);
  transform:rotate(-7deg);
  pointer-events:none;
  user-select:none;
}
.upload-empty-close{
  position:absolute;
  right:1rem;
  top:1rem;
  z-index:2;
  width:38px;
  height:38px;
  border:1px solid #fed7aa;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.18s ease;
}
.upload-empty-close:hover{
  color:#0f172a;
  border-color:#fb923c;
  transform:rotate(90deg);
}
.upload-empty-icon{
  position:relative;
  z-index:1;
  width:88px;
  height:88px;
  margin:0 auto .85rem;
  border-radius:1.55rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#f59e0b,#fb923c);
  color:#fff;
  box-shadow:0 18px 35px rgba(245,158,11,.25);
}
.upload-empty-icon i{
  font-size:2.8rem;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));
}
.upload-empty-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.34rem .75rem;
  border-radius:999px;
  background:#ffedd5;
  color:#9a3412;
  font-weight:950;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  margin-bottom:.8rem;
}
.upload-empty-modal h2{
  position:relative;
  z-index:1;
  margin:0 0 .55rem;
  font-size:1.45rem;
  line-height:1.18;
  font-weight:950;
  color:#0f172a;
}
.upload-empty-modal p{
  position:relative;
  z-index:1;
  color:#64748b;
  margin:0 auto 1.1rem;
  max-width:430px;
  line-height:1.55;
}
.upload-empty-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.75rem;
  margin:1rem auto 1.15rem;
}
.upload-empty-grid div{
  border:1px solid #fed7aa;
  background:rgba(255,255,255,.82);
  border-radius:1rem;
  padding:.85rem .75rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(15,23,42,.045);
}
.upload-empty-grid i{
  display:block;
  color:#ea580c;
  font-size:1.25rem;
  margin-bottom:.35rem;
}
.upload-empty-grid strong{
  display:block;
  color:#0f172a;
  font-size:.86rem;
  font-weight:950;
  margin-bottom:.18rem;
}
.upload-empty-grid span{
  display:block;
  color:#64748b;
  font-size:.76rem;
  font-weight:750;
  line-height:1.3;
}
.upload-empty-primary{
  position:relative;
  z-index:1;
  border:0;
  border-radius:1rem;
  padding:.78rem 1rem;
  color:#fff;
  font-weight:950;
  background:linear-gradient(135deg,#f97316,#f59e0b);
  box-shadow:0 14px 30px rgba(249,115,22,.22);
}
.upload-empty-primary:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(249,115,22,.28);
}
@keyframes uploadEmptyFade{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes uploadEmptyPop{
  from{opacity:0; transform:translateY(16px) scale(.96);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
@media (max-width:575.98px){
  .upload-empty-modal{padding:1.45rem; border-radius:1.5rem;}
  .upload-empty-grid{grid-template-columns:1fr;}
}


/* V37 — modal sem HR direciona para Tabela */
.hr-ready-modal.is-empty .hr-ready-text{
  max-width:500px !important;
}
.hr-ready-modal.is-empty .hr-ready-empty-note{
  text-align:center;
  line-height:1.45;
}
.hr-ready-modal.is-empty .hr-ready-empty-note i{
  color:#ea580c;
}


/* V38 — organização interna dos cards do modal HR Ahgora */
.hr-ready-stats.hr-ready-stats-two{
  max-width:440px !important;
  gap:.7rem !important;
}
.hr-ready-stat-card-strong{
  min-height:124px !important;
  justify-content:flex-start !important;
  padding:.78rem .72rem .72rem !important;
  gap:.32rem !important;
}
.hr-ready-stat-top{
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  min-height:24px;
}
.hr-ready-stat-top strong{
  color:#0f172a;
  font-size:.78rem;
  font-weight:950;
  line-height:1.05;
}
.hr-ready-stat-icon{
  width:22px;
  height:22px;
  border-radius:.58rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  background:#ecfdf5;
  color:#15803d;
  font-size:.78rem;
}
.hr-ready-card-intra .hr-ready-stat-icon{
  background:#eff6ff;
  color:#1d4ed8;
}
.hr-ready-stat-card-strong b{
  font-size:1.22rem !important;
  line-height:1.05 !important;
  margin:.08rem 0 .1rem !important;
}
.hr-ready-stat-meta{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:.2rem;
  width:100%;
  margin-top:.05rem;
}
.hr-ready-stat-meta span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:.14rem .38rem;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:.64rem;
  font-weight:850;
  line-height:1.05;
}
.hr-ready-verba-pill{
  position:relative;
  z-index:1;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  margin-top:.08rem;
  padding:.14rem .48rem;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-size:.62rem;
  font-weight:950;
}
.hr-ready-card-intra .hr-ready-verba-pill{
  background:#dbeafe;
  color:#1d4ed8;
}
.hr-ready-stat-card-strong::after{
  right:.58rem !important;
  bottom:.35rem !important;
  font-size:1.7rem !important;
  color:rgba(15,23,42,.03) !important;
}
.hr-ready-card-ajuda{
  border-color:#bbf7d0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,253,244,.78)) !important;
}
.hr-ready-card-intra{
  border-color:#bfdbfe !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.78)) !important;
}
@media (max-width:575.98px){
  .hr-ready-stat-card-strong{
    min-height:112px !important;
  }
  .hr-ready-stat-meta{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}


/* V39 — refatoração clean da página Upload */
.upload-page-refined{
  --upload-blue:#2563eb;
  --upload-cyan:#06b6d4;
  --upload-slate:#64748b;
  --upload-ink:#0f172a;
}

.upload-refined-shell{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}

.upload-refined-hero{
  position:relative;
  overflow:hidden;
  padding:1.35rem 1.45rem;
  border-radius:1.45rem;
  border:1px solid #dbeafe;
  background:linear-gradient(135deg,#ffffff,#f8fbff 52%,#eefbff);
}

.upload-refined-hero-bg{
  position:absolute;
  inset:-45% -12% auto auto;
  width:420px;
  height:220px;
  background:radial-gradient(circle, rgba(37,99,235,.11), rgba(6,182,212,.09) 45%, transparent 72%);
  pointer-events:none;
}

.upload-refined-hero-main{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:1rem;
}

.upload-refined-mark{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:1.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,var(--upload-blue),var(--upload-cyan));
  box-shadow:0 16px 30px rgba(37,99,235,.18);
  font-size:1.45rem;
}

.upload-refined-kicker,
.upload-section-label{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  color:#2563eb;
  font-size:.75rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.055em;
}

.upload-refined-hero h1{
  margin:.25rem 0 .25rem;
  font-size:clamp(1.75rem, 3vw, 2.55rem);
  line-height:1.05;
  font-weight:950;
  color:var(--upload-ink);
}

.upload-refined-hero p{
  max-width:860px;
  margin:0;
  color:#64748b;
  line-height:1.55;
}

.upload-refined-hero-badges{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1rem;
  padding-left:70px;
}

.upload-refined-hero-badges span{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.38rem .7rem;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbeafe;
  color:#475569;
  font-size:.78rem;
  font-weight:850;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.upload-refined-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.32fr) minmax(340px, .68fr);
  gap:1.15rem;
  align-items:stretch;
}

.upload-refined-left,
.upload-refined-right{
  display:flex;
  flex-direction:column;
  gap:1.15rem;
}

.upload-action-card,
.upload-cache-card,
.upload-flow-card,
.upload-output-card{
  border-radius:1.45rem;
  border:1px solid #dbeafe;
  box-shadow:0 18px 45px rgba(15,23,42,.045);
}

.upload-action-card{
  padding:1.45rem;
}

.upload-action-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.upload-action-head h2,
.upload-cache-content h2,
.upload-flow-head h2{
  margin:.18rem 0 .25rem;
  color:var(--upload-ink);
  font-size:1.35rem;
  font-weight:950;
  line-height:1.1;
}

.upload-action-head p,
.upload-cache-content p,
.upload-flow-head p{
  margin:0;
  color:#64748b;
  line-height:1.45;
}

.upload-selected-counter{
  min-width:82px;
  height:70px;
  border-radius:1.1rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
}

.upload-selected-counter.has-files{
  background:linear-gradient(135deg,#eff6ff,#ecfeff);
  border-color:#93c5fd;
  color:#2563eb;
}

.upload-selected-counter strong{
  font-size:1.55rem;
  line-height:1;
  font-weight:950;
}

.upload-selected-counter span{
  margin-top:.2rem;
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.upload-dropzone-refined{
  position:relative;
  min-height:260px;
  border-radius:1.35rem !important;
  border:1.5px dashed #93c5fd !important;
  background:
    radial-gradient(circle at 50% 22%, rgba(37,99,235,.08), transparent 30%),
    linear-gradient(180deg,#ffffff,#f8fbff);
  transition:.2s ease;
}

.upload-dropzone-refined:hover,
.upload-dropzone-refined.dragover{
  transform:translateY(-1px);
  border-color:#2563eb !important;
  box-shadow:0 18px 45px rgba(37,99,235,.10);
}

.upload-dropzone-orbit{
  position:relative;
  width:82px;
  height:82px;
  margin-bottom:.85rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.upload-dropzone-orbit span{
  position:absolute;
  inset:4px;
  border-radius:999px;
  border:2px solid rgba(37,99,235,.12);
  border-top-color:#2563eb;
  border-right-color:#06b6d4;
  animation:uploadRefinedSpin 4s linear infinite;
}

.upload-dropzone-orbit i{
  width:58px;
  height:58px;
  border-radius:1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  font-size:1.55rem;
  box-shadow:0 14px 28px rgba(37,99,235,.18);
}

.upload-dropzone-refined h3{
  margin:0 0 .25rem;
  color:#0f172a;
  font-size:1.35rem;
  font-weight:950;
}

.upload-dropzone-refined p{
  color:#64748b;
  margin-bottom:1rem;
}

.upload-select-btn{
  border-radius:1rem;
  padding:.78rem 1.25rem;
  font-weight:950;
  box-shadow:0 12px 26px rgba(37,99,235,.18);
}

.upload-status-card{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.85rem 1rem;
  border-radius:1rem;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-weight:850;
}

.upload-status-card.has-files{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}

.upload-status-card i{
  font-size:1.25rem;
}

.upload-session-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:.85rem;
}

.upload-cache-card{
  padding:1.05rem;
  background:linear-gradient(135deg,#ffffff,#f8fbff);
}

.upload-cache-card.is-success{
  border-color:#bbf7d0;
  background:linear-gradient(135deg,#ffffff,#f0fdf4);
}

.upload-cache-card.is-muted{
  border-color:#e2e8f0;
  background:linear-gradient(135deg,#ffffff,#f8fafc);
}

.upload-cache-inner{
  display:flex;
  align-items:flex-start;
  gap:.9rem;
}

.upload-cache-inner.compact{
  align-items:center;
}

.upload-cache-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:.95rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 10px 24px rgba(37,99,235,.16);
}

.upload-cache-card.is-success .upload-cache-icon{
  background:linear-gradient(135deg,#16a34a,#22c55e);
}

.upload-cache-card.is-muted .upload-cache-icon{
  background:linear-gradient(135deg,#64748b,#94a3b8);
}

.upload-cache-content small{
  display:block;
  color:#64748b;
  margin-top:.4rem;
  font-size:.82rem;
  line-height:1.4;
}

.upload-cache-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.85rem;
}

.upload-flow-card{
  padding:1.25rem;
  height:100%;
}

.upload-flow-head{
  margin-bottom:.85rem;
}

.upload-flow-list{
  display:flex;
  flex-direction:column;
}

.upload-flow-step{
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:.8rem;
  padding:.8rem 0;
  border-bottom:1px solid #e2e8f0;
}

.upload-flow-step:last-child{
  border-bottom:0;
}

.upload-flow-step > span{
  width:32px;
  height:32px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eff6ff;
  color:#2563eb;
  font-weight:950;
}

.upload-flow-step strong{
  color:#0f172a;
  font-weight:950;
}

.upload-flow-step p{
  margin:.18rem 0 0;
  color:#64748b;
  font-size:.9rem;
  line-height:1.4;
}

.upload-flow-note{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  padding:.85rem;
  border-radius:1rem;
  background:#fffbeb;
  border:1px solid #fde68a;
  color:#92400e;
  margin-top:.85rem;
}

.upload-flow-note i{
  margin-top:.1rem;
}

.upload-flow-note strong,
.upload-flow-note span{
  display:block;
}

.upload-flow-note span{
  font-size:.82rem;
  line-height:1.35;
}

.upload-output-card{
  padding:1.1rem;
}

.upload-output-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.55rem;
  margin-top:.75rem;
}

.upload-output-grid div{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  column-gap:.7rem;
  align-items:center;
  padding:.7rem;
  border-radius:.95rem;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

.upload-output-grid i{
  grid-row:span 2;
  width:34px;
  height:34px;
  border-radius:.75rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#2563eb;
  background:#eff6ff;
}

.upload-output-grid strong{
  color:#0f172a;
  font-weight:950;
  line-height:1.1;
}

.upload-output-grid span{
  color:#64748b;
  font-size:.82rem;
}

@keyframes uploadRefinedSpin{
  to{transform:rotate(360deg);}
}

@media (max-width:1199.98px){
  .upload-refined-grid{
    grid-template-columns:1fr;
  }
  .upload-refined-right{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:767.98px){
  .upload-refined-hero,
  .upload-action-card,
  .upload-flow-card,
  .upload-output-card{
    padding:1.05rem;
    border-radius:1.15rem;
  }
  .upload-refined-hero-main{
    align-items:flex-start;
  }
  .upload-refined-hero-badges{
    padding-left:0;
  }
  .upload-action-head{
    flex-direction:column;
  }
  .upload-selected-counter{
    width:100%;
    height:auto;
    min-height:58px;
  }
  .upload-refined-right{
    display:flex;
  }
  .upload-dropzone-refined{
    min-height:230px;
  }
}


/* V40 — ajustes finais Upload: hero compacto, confirmação visual e modal sem HR mais limpo */
.upload-refined-hero{
  padding:.9rem 1.05rem !important;
  border-radius:1.15rem !important;
}
.upload-refined-hero-main{
  gap:.75rem !important;
}
.upload-refined-mark{
  width:44px !important;
  height:44px !important;
  flex-basis:44px !important;
  border-radius:.9rem !important;
  font-size:1.18rem !important;
}
.upload-refined-kicker{
  font-size:.68rem !important;
}
.upload-refined-hero h1{
  font-size:clamp(1.35rem, 2.35vw, 1.95rem) !important;
  margin:.12rem 0 .15rem !important;
}
.upload-refined-hero p{
  font-size:.92rem !important;
  line-height:1.42 !important;
  max-width:780px !important;
}
.upload-refined-hero-badges{
  margin-top:.55rem !important;
  padding-left:58px !important;
  gap:.4rem !important;
}
.upload-refined-hero-badges span{
  padding:.26rem .55rem !important;
  font-size:.7rem !important;
}

/* Modal de confirmação visual para limpar sessão */
.upload-clear-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2300;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(10px);
  animation:uploadEmptyFade .2s ease both;
}
.upload-clear-modal{
  position:relative;
  width:min(460px, 100%);
  overflow:hidden;
  border-radius:1.65rem;
  padding:1.65rem;
  text-align:center;
  background:linear-gradient(145deg,#ffffff,#f8fbff 48%,#fff1f2);
  border:1px solid #fecdd3;
  box-shadow:0 28px 75px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.9);
  animation:uploadEmptyPop .25s cubic-bezier(.2,.9,.2,1.05) both;
}
.upload-clear-glow{
  position:absolute;
  width:240px;
  height:240px;
  left:50%;
  top:-150px;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(239,68,68,.20), rgba(37,99,235,.08) 48%, transparent 72%);
  pointer-events:none;
}
.upload-clear-close{
  position:absolute;
  right:.85rem;
  top:.85rem;
  z-index:2;
  width:36px;
  height:36px;
  border:1px solid #fecdd3;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.upload-clear-close:hover{
  color:#991b1b;
  transform:rotate(90deg);
}
.upload-clear-icon{
  position:relative;
  z-index:1;
  width:70px;
  height:70px;
  margin:0 auto .75rem;
  border-radius:1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#dc2626,#f97316);
  color:#fff;
  font-size:1.8rem;
  box-shadow:0 16px 32px rgba(220,38,38,.20);
}
.upload-clear-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.3rem .65rem;
  border-radius:999px;
  background:#fee2e2;
  color:#991b1b;
  font-size:.74rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  margin-bottom:.65rem;
}
.upload-clear-modal h2{
  position:relative;
  z-index:1;
  margin:0 0 .45rem;
  color:#0f172a;
  font-size:1.35rem;
  font-weight:950;
}
.upload-clear-modal p{
  position:relative;
  z-index:1;
  max-width:360px;
  margin:0 auto 1rem;
  color:#64748b;
  line-height:1.5;
}
.upload-clear-actions{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  gap:.55rem;
  flex-wrap:wrap;
}
.upload-clear-secondary,
.upload-clear-primary{
  border-radius:.9rem;
  padding:.72rem 1rem;
  font-weight:950;
}
.upload-clear-secondary{
  border:1px solid #cbd5e1;
  background:#fff;
  color:#475569;
}
.upload-clear-primary{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,#dc2626,#f97316);
  box-shadow:0 12px 26px rgba(220,38,38,.18);
}

/* Sem arquivo HR/CSV: não mostra card hr_ahgora vazio */
.hr-ready-no-export-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  margin:1rem auto 1rem;
  max-width:430px;
  padding:1rem 1.05rem;
  border-radius:1.15rem;
  background:linear-gradient(135deg,#fff7ed,#ffffff);
  border:1px solid #fed7aa;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 24px rgba(15,23,42,.05);
}
.hr-ready-no-export-card::after{
  content:"TABELA";
  position:absolute;
  right:.7rem;
  bottom:.05rem;
  color:rgba(154,52,18,.05);
  font-size:2.1rem;
  font-weight:950;
  letter-spacing:.04em;
}
.hr-ready-no-export-icon{
  width:42px;
  height:42px;
  border-radius:.95rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ffedd5;
  color:#ea580c;
  font-size:1.3rem;
}
.hr-ready-no-export-card strong{
  color:#0f172a;
  font-size:1rem;
  font-weight:950;
}
.hr-ready-no-export-card span{
  position:relative;
  z-index:1;
  color:#64748b;
  font-size:.86rem;
  line-height:1.45;
  max-width:340px;
}

@media (max-width:767.98px){
  .upload-refined-hero-badges{
    padding-left:0 !important;
  }
}


/* V41 — Upload info na appbar e remoção do hero superior */
.upload-intro-topbar{
  flex:1 1 auto;
  max-width:540px;
  min-width:260px;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.48rem .75rem;
  border-radius:1rem;
  background:linear-gradient(135deg,#eff6ff,#ecfeff);
  border:1px solid #dbeafe;
  box-shadow:0 8px 20px rgba(37,99,235,.045);
}
.upload-intro-topbar.d-none{
  display:none !important;
}
.upload-intro-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:.8rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 8px 18px rgba(37,99,235,.16);
}
.upload-intro-copy{
  min-width:0;
}
.upload-intro-copy strong{
  display:block;
  color:#0f172a;
  font-size:.92rem;
  font-weight:950;
  line-height:1.1;
}
.upload-intro-copy small{
  display:block;
  color:#64748b;
  font-size:.76rem;
  font-weight:800;
  margin-top:.08rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Antes do upload, remove o botão Upload da appbar; depois volta ao normal */
body.is-pre-upload #btnUploadTopbar,
body.is-pre-upload #bottomNav [data-route-link="upload"]{
  display:none !important;
}

/* Como o resumo foi para a appbar, a tela de upload começa direto nos cards de ação */
.upload-page-refined .upload-refined-shell{
  gap:1rem !important;
}
.upload-page-refined .upload-refined-grid{
  margin-top:0 !important;
}
body.is-pre-upload .page-host{
  padding-top:1.05rem;
}

@media (max-width:1199.98px){
  .upload-intro-topbar{
    max-width:430px;
  }
}
@media (max-width:991.98px){
  .upload-intro-topbar{
    display:none !important;
  }
}


/* V42 — appbar sem banner e ícone CSV clean */
.brand-csv-icon{
  flex:0 0 auto;
  color:#16a34a;
  font-size:1.65rem;
  line-height:1;
  filter:drop-shadow(0 4px 8px rgba(22,163,74,.12));
}
.brand-csv-icon i{
  display:block;
}

/* Garante que o antigo banner da appbar não apareça mais */
.upload-intro-topbar{
  display:none !important;
}

/* Antes do upload, continua escondendo o botão Upload da appbar */
body.is-pre-upload #btnUploadTopbar,
body.is-pre-upload #bottomNav [data-route-link="upload"]{
  display:none !important;
}

/* V41 — abas na tela de upload inicial e correção de reupload após limpeza */
.upload-pre-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding:.55rem;
  border:1px solid #dbeafe;
  border-radius:1.15rem;
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  box-shadow:0 14px 34px rgba(15,23,42,.04);
}
.upload-pre-tab{
  border:0;
  border-radius:.9rem;
  padding:.72rem 1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  color:#475569;
  background:transparent;
  font-weight:950;
  transition:.18s ease;
}
.upload-pre-tab:hover{
  background:#eff6ff;
  color:#2563eb;
}
.upload-pre-tab.active{
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 12px 26px rgba(37,99,235,.16);
}
.upload-tab-pane{
  display:none;
}
.upload-tab-pane.active{
  display:block;
}
.upload-refined-info-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);
  gap:1.15rem;
  align-items:stretch;
}
.upload-refined-info-grid .upload-cache-card{
  grid-column:1 / -1;
}

@media (max-width:991.98px){
  .upload-refined-info-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:575.98px){
  .upload-pre-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .upload-pre-tab{
    padding:.65rem .7rem;
  }
}

/* V43 — mantém o botão Upload visível antes do processamento para voltar de Orientações */
body.is-pre-upload #btnUploadTopbar{
  display:inline-flex !important;
}
body.is-pre-upload #bottomNav [data-route-link="upload"]{
  display:flex !important;
}

/* V44 — appbar simplificada e página de Configurações */
.config-access-card{
  min-height:150px;
  transition:.18s ease;
}
.config-access-card:hover{
  transform:translateY(-2px);
}
.config-access-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#2563eb;
  background:#eff6ff;
  flex:0 0 auto;
  font-size:1.35rem;
}
#btnUploadTopbar{
  cursor:pointer;
}
#btnUploadTopbar:not(.active){
  background:#fff;
}

/* Página explicativa: Ajuda de Custo e Intrajornada */
.regras-pagamento-section .rule-value-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem .9rem;
  border:1px solid rgba(37,99,235,.14);
  border-radius:1rem;
  background:rgba(248,250,252,.92);
}
.regras-pagamento-section .rule-value-line span{color:#52627a;font-weight:700;font-size:.9rem;}
.regras-pagamento-section .rule-value-line strong{font-size:1.05rem;color:#06142d;white-space:nowrap;}
.regras-pagamento-section .rule-mini-card,
.regras-pagamento-section .rule-check-card{
  height:100%;
  padding:1rem;
  border:1px solid rgba(147,197,253,.55);
  border-radius:1rem;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.regras-pagamento-section .rule-mini-card strong,
.regras-pagamento-section .rule-check-card strong{display:block;color:#06142d;margin-bottom:.35rem;}
.regras-pagamento-section .rule-mini-card span,
.regras-pagamento-section .rule-check-card span{display:block;color:#52627a;font-size:.93rem;line-height:1.45;}
.regras-pagamento-section .rule-mini-card.danger{border-color:rgba(248,113,113,.45);background:linear-gradient(180deg,#fff 0%,#fff7f7 100%);}
.regras-pagamento-section .rule-list{padding-left:1.2rem;}
.regras-pagamento-section .rule-list li{margin-bottom:.65rem;color:#52627a;}
.regras-pagamento-section .rule-list li strong{color:#06142d;}
.regras-pagamento-section .regra-table th{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#2563eb;
  background:#f8fbff;
}
.regras-pagamento-section .regra-table td{color:#52627a;}
.regras-pagamento-section .regra-table td strong{color:#06142d;}

/* V47 — bloqueio por PIN da página de regras de pagamento */
.regras-pagamento-section .regras-lock-card{
  min-height: 320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
#modalPinRegras .modal-content{
  border-radius: 1.35rem;
}
#modalPinRegras .alert{
  border-radius: 1rem;
}


/* V46 — parâmetros melhorados e Help incorporado às regras de pagamento */
.params-section-v2 .params-hero-v2{
  background:linear-gradient(135deg,#ffffff 0%,#f3f8ff 58%,#eefdf8 100%);
  border-color:rgba(147,197,253,.45);
}
.params-summary-card{
  height:100%;
  padding:1rem 1.1rem;
  border:1px solid rgba(147,197,253,.55);
  border-radius:1.1rem;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.params-summary-card i{font-size:1.35rem;color:#2563eb;display:block;margin-bottom:.55rem;}
.params-summary-card span{display:block;color:#52627a;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.params-summary-card strong{display:block;color:#06142d;font-size:1.18rem;margin-top:.2rem;}
.params-alert-v2{border-radius:1.1rem;}
.param-category-card-v2{position:relative;overflow:hidden;}
.param-category-card-v2:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2563eb,#06b6d4);}
.param-group-icon-primary{background:#eff6ff;color:#2563eb;}
.param-group-icon-info{background:#ecfeff;color:#0891b2;}
.param-group-icon-warning{background:#fffbeb;color:#d97706;}
.param-field-card-v2{border-color:rgba(203,213,225,.8);background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);}
.param-field-card-v2 .form-control{border-left:0;}
.param-field-card-v2 .input-group-text{background:#fff;color:#2563eb;font-weight:800;}
.param-unit-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:.25rem .55rem;border-radius:999px;background:#eef6ff;color:#2563eb;font-weight:900;font-size:.75rem;}
.params-action-card{position:sticky;bottom:1rem;z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);}
@media (max-width:991.98px){.params-action-card{position:static;}}
.regras-pagamento-section .new-value{display:inline-flex;padding:.15rem .5rem;border-radius:999px;background:#e7f8ef;color:#087b47;font-weight:900;}
.regras-pagamento-section .rule-block{background:#f8fbff;border:1px solid rgba(147,197,253,.45);border-radius:1rem;padding:1rem;}

/* V47 — Formato da saída como informação, não como botão */
.totvs-format-box{
  background:#f8fafc;
  border:1px solid #dbeafe;
  border-radius:1rem;
  padding:.75rem;
}
.totvs-format-switch{
  display:flex;
  align-items:stretch;
  gap:.65rem;
}
.totvs-format-current{
  flex:1 1 auto;
  min-height:82px;
  border-radius:1rem;
  border:1px solid #dbeafe;
  background:#fff;
  color:#0f172a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.38rem;
  padding:.72rem .85rem;
  cursor:default;
  user-select:none;
}
.totvs-format-current.is-csv{
  border-left:5px solid #2563eb;
}
.totvs-format-current.is-xlsx{
  border-left:5px solid #22c55e;
}
.totvs-format-current-label{
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#64748b;
  line-height:1;
}
.totvs-format-current-body{
  display:flex;
  align-items:center;
  gap:.7rem;
}
.totvs-format-current .totvs-format-icon-card{
  border:1px solid #dbeafe;
  background:#f8fafc;
  box-shadow:none;
}
.totvs-format-current.is-csv .totvs-format-icon-card{
  color:#2563eb;
  background:#eff6ff;
}
.totvs-format-current.is-xlsx .totvs-format-icon-card{
  color:#16a34a;
  background:#f0fdf4;
}
.totvs-format-current .totvs-format-text strong{
  color:#0f172a;
  font-size:1rem;
}
.totvs-format-current .totvs-format-text small{
  color:#64748b;
  opacity:1;
}
.totvs-format-cycle{
  flex:0 0 auto;
  width:auto;
  min-width:88px;
  min-height:82px;
  height:auto;
  padding:.55rem .75rem;
  border-radius:1rem;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#334155;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.28rem;
  font-weight:900;
  font-size:.78rem;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.totvs-format-cycle:hover{
  color:#2563eb;
  border-color:#93c5fd;
  background:#eff6ff;
}
.totvs-format-cycle span{
  line-height:1;
}
.totvs-format-cycle i{
  font-size:1rem;
  transition:transform .2s ease;
}
.totvs-format-cycle:hover i{
  transform:rotate(90deg);
}
@media (max-width: 767.98px){
  .totvs-format-switch{
    flex-direction:column;
  }
  .totvs-format-cycle{
    min-height:44px;
    width:100%;
    flex-direction:row;
  }
}

/* V48 — formato da saída alterna clicando no próprio bloco, sem botão separado */
.totvs-format-box{
  padding:.65rem;
}
.totvs-format-switch{
  display:block;
}
button.totvs-format-current{
  width:100%;
  border-radius:1rem;
  text-align:left;
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  min-height:74px;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
button.totvs-format-current:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  border-color:#93c5fd;
  background:#ffffff;
}
button.totvs-format-current:focus-visible{
  outline:3px solid rgba(37,99,235,.24);
  outline-offset:3px;
}
.totvs-format-current-body{
  justify-content:space-between;
  width:100%;
}
.totvs-format-current-body .totvs-format-text{
  flex:1 1 auto;
}
.totvs-format-hint{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#475569;
  margin-left:.25rem;
}
button.totvs-format-current:hover .totvs-format-hint{
  color:#2563eb;
  border-color:#93c5fd;
  background:#eff6ff;
}
button.totvs-format-current:hover .totvs-format-hint i{
  transform:rotate(90deg);
}
.totvs-format-hint i{
  transition:transform .18s ease;
}

/* v49 - Auditoria, segurança, backup e memória de cálculo */
.audit-page-v49 .audit-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.audit-kpi-card{padding:18px;display:flex;flex-direction:column;gap:4px;min-height:126px}
.audit-kpi-card i{font-size:1.35rem}.audit-kpi-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#53627a;font-weight:800}.audit-kpi-card strong{font-size:1.45rem;line-height:1.15}.audit-kpi-card small{color:#64748b;font-weight:600}.audit-checklist{display:grid;gap:10px}.audit-check-item{display:flex;align-items:flex-start;gap:12px;border:1px solid #dbe7fb;border-radius:14px;padding:12px;background:#f8fbff;cursor:pointer}.audit-check-item span{display:flex;flex-direction:column}.audit-check-item small{color:#64748b}.quick-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audit-page-v49 .table td,.audit-page-v49 .table th{vertical-align:middle}.memoria-item .pill{white-space:nowrap}.memoria-list{max-width:none;width:100%}.memoria-page-v49 .alert{line-height:1.55}
@media (max-width:1400px){.audit-page-v49 .audit-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){.audit-page-v49 .audit-kpi-grid,.quick-audit-grid{grid-template-columns:1fr}.audit-kpi-card{min-height:auto}}


/* V50 — modal estilizado da aplicação para confirmações e alertas */
.ahgora-modal-layer{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:24px}
.ahgora-modal-layer.d-none{display:none!important}
.ahgora-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}
.ahgora-modal-card{position:relative;z-index:1;width:min(560px,100%);background:#fff;border:1px solid rgba(147,197,253,.65);box-shadow:0 28px 70px rgba(15,23,42,.25);border-radius:22px;padding:22px;display:flex;gap:16px}
.ahgora-modal-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d6efd,#08a6c8);color:#fff;flex:0 0 auto;font-size:1.25rem;box-shadow:0 12px 26px rgba(13,110,253,.25)}
.ahgora-modal-body{min-width:0;flex:1}
.ahgora-modal-details{margin-top:14px;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:12px 14px;color:#334155}
.ahgora-modal-details ul{margin:0;padding-left:18px}.ahgora-modal-details li+li{margin-top:4px}
.btn-app-danger{background:linear-gradient(135deg,#dc3545,#ff4d5e);border:0;color:#fff;font-weight:800;border-radius:14px;padding:.65rem 1rem}.btn-app-danger:hover{color:#fff;filter:brightness(.97)}
.audit-checklist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.audit-checklist-grid .audit-check-item{min-height:96px;align-items:flex-start}
.audit-inconsistency-search{max-width:420px}
.memoria-employee details,.memoria-employee{width:100%}
.memoria-employee-card{border:1px solid #dbeafe;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.06);margin-bottom:14px;overflow:hidden}
.memoria-employee-card summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.memoria-employee-card summary::-webkit-details-marker{display:none}
.memoria-days-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 20px}
.memoria-day-card{border:1px solid #e2e8f0;border-radius:16px;background:#f8fbff;padding:14px;min-height:170px}
.memoria-day-card .memoria-date{font-weight:900;color:#0f172a}.memoria-day-card small{color:#64748b}
@media (max-width:1200px){.memoria-days-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.memoria-days-grid{grid-template-columns:1fr}.audit-checklist-grid{grid-template-columns:1fr}.ahgora-modal-card{display:block}.ahgora-modal-icon{margin-bottom:12px}}


/* V51 — Memória de cálculo wide e ordenação ciclo 21-20 */
.memoria-page-v50 > .container-fluid{
  max-width:none !important;
  width:100% !important;
}
.memoria-page-v50 .memoria-list{
  max-width:none !important;
  width:100% !important;
}
.memoria-page-v50 .memoria-employee-card{
  width:100% !important;
}
.memoria-page-v50 .memoria-days-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%;
}
@media (max-width:1400px){
  .memoria-page-v50 .memoria-days-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:992px){
  .memoria-page-v50 .memoria-days-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .memoria-page-v50 .memoria-days-grid{grid-template-columns:1fr;}
}


/* V52 — Apuração de Jornada na Tabela/Memória */
.pill-apuracao{
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
}
.pill-danger-soft{
  background:#fee2e2;
  color:#991b1b;
  border:1px solid #fecaca;
  font-weight:950;
}
.pill-night{
  background:#ede9fe;
  color:#6d28d9;
  border:1px solid #ddd6fe;
  font-weight:950;
}
.pill-extra50{
  background:#ecfdf5;
  color:#15803d;
  border:1px solid #bbf7d0;
  font-weight:950;
}
.pill-extra100{
  background:#fff7ed;
  color:#c2410c;
  border:1px solid #fed7aa;
  font-weight:950;
}


/* V53 — Memória de cálculo refinada */
.memoria-summary-main{min-width:220px;flex:1}
.memoria-summary-sub{display:block}
.memoria-summary-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:min(54%,700px)}
.memoria-summary-chevron{font-size:1.1rem;transition:transform .18s ease}
.memoria-employee-card[open] .memoria-summary-chevron{transform:rotate(180deg)}
.memoria-day-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbe7fb;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  min-height:unset;
}
.memoria-day-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.memoria-regime{display:block;color:#64748b;line-height:1.35;margin-top:3px}
.memoria-hours-badge{font-weight:800;font-size:.88rem;padding:.45rem .6rem;border-radius:12px}
.memoria-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.memoria-chip{display:inline-flex;gap:4px;align-items:center;background:#f8fafc;border:1px solid #dbeafe;border-radius:999px;padding:4px 10px;font-size:.78rem;color:#475569}
.memoria-badges-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.memoria-verbas-box{background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:12px 12px 6px;margin-bottom:12px}
.memoria-verbas-title{font-size:.78rem;font-weight:900;color:#2563eb;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.memoria-verbas-list{display:grid;gap:8px}
.memoria-verba-row{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}
.memoria-verba-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;margin-bottom:4px}
.memoria-verba-code{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:28px;border-radius:10px;background:#f1f5f9;color:#0f172a;font-weight:900;font-size:.76rem;padding:0 8px}
.memoria-verba-head strong{font-size:.9rem;color:#0f172a}
.memoria-verba-value{font-weight:900;color:#0f172a;white-space:nowrap}
.memoria-verba-row small{display:block;color:#64748b;line-height:1.35}
.memoria-verba-row.verba-145{border-color:#bbf7d0;background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%)}
.memoria-verba-row.verba-145 .memoria-verba-code{background:#dcfce7;color:#166534}
.memoria-verba-row.verba-147{border-color:#fde68a;background:linear-gradient(180deg,#ffffff 0%,#fffbeb 100%)}
.memoria-verba-row.verba-147 .memoria-verba-code{background:#fef3c7;color:#92400e}
.memoria-verba-row.verba-135{border-color:#ddd6fe;background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%)}
.memoria-verba-row.verba-135 .memoria-verba-code{background:#ede9fe;color:#6d28d9}
.memoria-verba-row.verba-136{border-color:#bbf7d0;background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%)}
.memoria-verba-row.verba-136 .memoria-verba-code{background:#dcfce7;color:#15803d}
.memoria-verba-row.verba-137{border-color:#fed7aa;background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%)}
.memoria-verba-row.verba-137 .memoria-verba-code{background:#ffedd5;color:#c2410c}
.memoria-verba-row.verba-falta{border-color:#fecaca;background:linear-gradient(180deg,#ffffff 0%,#fef2f2 100%)}
.memoria-verba-row.verba-falta .memoria-verba-code{background:#fee2e2;color:#991b1b}
.memoria-memory-text{font-size:.87rem;color:#475569;line-height:1.55}
.memoria-memory-text b{color:#0f172a}
@media (max-width:1200px){
  .memoria-employee-card summary{align-items:flex-start;flex-direction:column}
  .memoria-summary-badges{justify-content:flex-start;max-width:none}
}
@media (max-width:768px){
  .memoria-verba-head{grid-template-columns:1fr;align-items:flex-start}
  .memoria-verba-value{white-space:normal}
  .memoria-day-card-top{flex-direction:column}
}



/* V55 — Central de Versões */
.version-center-btn{
  border:1px solid #dbeafe !important;
  background:#f8fbff !important;
  color:#1d4ed8 !important;
  font-weight:850;
}
.version-center-btn:hover{
  background:#eff6ff !important;
  color:#1e40af !important;
}
.version-center-modal{
  border:0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(15,23,42,.22);
}
.version-center-kicker{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.28rem .65rem;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.version-center-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
}
.version-card{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  min-height:245px;
  padding:16px;
  border-radius:20px;
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.version-card.is-current-version{
  border-color:#93c5fd;
  box-shadow:0 16px 36px rgba(37,99,235,.12);
}
.version-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
}
.version-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:32px;
  padding:0 .7rem;
  border-radius:999px;
  color:#1d4ed8;
  background:#eff6ff;
  font-weight:950;
}
.version-badge-current{
  color:#166534;
  background:#dcfce7;
}
.version-current-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.22rem .5rem;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  white-space:nowrap;
}
.version-card h6{
  margin:.3rem 0 0;
  font-weight:950;
  color:#0f172a;
}
.version-card p{
  flex:1;
  margin:0;
  color:#64748b;
  font-size:.88rem;
  line-height:1.45;
}
.version-center-note{
  display:flex;
  gap:.6rem;
  align-items:flex-start;
  margin-top:14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid #fde68a;
  background:#fffbeb;
  color:#92400e;
  font-size:.86rem;
  line-height:1.4;
}
@media (max-width:992px){
  .version-center-grid{grid-template-columns:1fr;}
  .version-card{min-height:unset;}
}


/* V56 — Exportação Núcleo de Pessoal */
.nucleo-export-page .container-fluid{max-width:none}
.nucleo-hero{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:stretch;
  padding:26px;
  border-radius:24px;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.14), transparent 36%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
}
.nucleo-kicker{
  display:inline-flex;
  align-items:center;
  padding:.3rem .65rem;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:.75rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:.65rem;
}
.nucleo-hero h1{
  font-size:clamp(1.8rem,3vw,2.7rem);
  font-weight:950;
  margin:0 0 .35rem;
  color:#0f172a;
}
.nucleo-hero p{
  max-width:850px;
  color:#64748b;
  font-size:1rem;
  line-height:1.55;
  margin:0;
}
.nucleo-hero-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(120px,1fr));
  gap:10px;
  min-width:320px;
}
.nucleo-hero-stats div{
  padding:14px 16px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}
.nucleo-hero-stats strong{
  display:block;
  font-size:1.45rem;
  font-weight:950;
  color:#1d4ed8;
}
.nucleo-hero-stats span{
  color:#64748b;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.nucleo-export-card{
  height:100%;
  padding:22px;
  border-radius:22px;
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.nucleo-card-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:18px;
  margin-bottom:14px;
  font-size:1.55rem;
}
.nucleo-card-icon.icon-hr{background:#dcfce7;color:#166534}
.nucleo-card-icon.icon-xlsx{background:#eff6ff;color:#1d4ed8}
.nucleo-card-icon.icon-pdf{background:#fee2e2;color:#b91c1c}
.nucleo-card-icon.icon-pack{background:#f5f3ff;color:#6d28d9}
.nucleo-export-card h2{
  font-size:1.08rem;
  font-weight:950;
  margin-bottom:.55rem;
  color:#0f172a;
}
.nucleo-export-card p{
  color:#64748b;
  line-height:1.5;
  min-height:74px;
}
.nucleo-card-note{
  padding:10px 12px;
  border-radius:14px;
  background:#fffbeb;
  color:#92400e;
  border:1px solid #fde68a;
  font-size:.85rem;
  font-weight:700;
}
.nucleo-export-overlay{
  position:fixed;
  inset:0;
  z-index:2050;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.24);
  backdrop-filter:blur(3px);
}
@media (max-width:992px){
  .nucleo-hero{flex-direction:column}
  .nucleo-hero-stats{min-width:0}
}
@media (max-width:640px){
  .nucleo-hero-stats{grid-template-columns:1fr}
}


/* V57 — Núcleo completo, hero reduzido e assinatura */
.nucleo-hero{
  padding:18px 22px !important;
  border-radius:18px !important;
  gap:16px !important;
  align-items:center !important;
}
.nucleo-kicker{
  margin-bottom:.45rem !important;
  font-size:.68rem !important;
  padding:.22rem .55rem !important;
}
.nucleo-hero h1{
  font-size:clamp(1.45rem,2.2vw,2.05rem) !important;
  margin-bottom:.22rem !important;
}
.nucleo-hero p{
  font-size:.92rem !important;
  line-height:1.42 !important;
}
.nucleo-hero-stats{
  grid-template-columns:repeat(4,minmax(92px,1fr)) !important;
  min-width:min(540px,45vw) !important;
  gap:8px !important;
}
.nucleo-hero-stats div{
  padding:10px 12px !important;
  border-radius:14px !important;
}
.nucleo-hero-stats strong{
  font-size:1.15rem !important;
}
.nucleo-hero-stats span{
  font-size:.66rem !important;
}
.nucleo-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.nucleo-export-card{
  padding:18px !important;
  border-radius:18px !important;
}
.nucleo-export-card p{
  min-height:86px !important;
  font-size:.88rem !important;
}
.nucleo-card-icon{
  width:46px !important;
  height:46px !important;
  border-radius:15px !important;
  margin-bottom:10px !important;
}
.nucleo-checks{
  display:grid;
  gap:6px;
  padding:10px 12px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#f8fbff;
}
.nucleo-checks label{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.84rem;
  color:#334155;
  font-weight:700;
}
.version-older-box{
  border:1px dashed #cbd5e1;
  background:#f8fafc;
  border-radius:16px;
  padding:12px;
}
.signature-pill-ivan{
  display:inline-flex;
  align-items:center;
  padding:.35rem .7rem;
  border-radius:999px;
  background:linear-gradient(135deg,#eff6ff,#e0f2fe);
  color:#1d4ed8;
  border:1px solid #bfdbfe;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 8px 18px rgba(37,99,235,.08);
}
@media (max-width:1500px){
  .nucleo-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .nucleo-hero-stats{grid-template-columns:repeat(2,minmax(110px,1fr)) !important;min-width:300px !important;}
}
@media (max-width:992px){
  .nucleo-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nucleo-hero{align-items:stretch !important;}
  .nucleo-hero-stats{min-width:0 !important;width:100% !important;}
}
@media (max-width:640px){
  .nucleo-card-grid{grid-template-columns:1fr;}
}


/* V58 — Ajustes de formatos oficiais e Central de Versões */
.version-older-box{
  border:1px dashed #cbd5e1;
  background:#f8fafc;
  border-radius:16px;
  padding:12px;
}


/* V59 — Totais de horas do PDF */
.nucleo-totais-section{
  padding:18px;
  border-radius:20px;
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.nucleo-totais-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.nucleo-total-card{
  border:1px solid #dbeafe;
  border-radius:16px;
  padding:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.nucleo-total-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:10px;
  border-bottom:1px solid #e2e8f0;
  margin-bottom:10px;
}
.nucleo-total-card-head strong{
  display:block;
  font-weight:950;
  color:#0f172a;
}
.nucleo-total-card-head span:not(.pill){
  display:block;
  color:#64748b;
  font-size:.78rem;
}
.nucleo-total-list{
  display:grid;
  gap:7px;
}
.nucleo-total-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 9px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid #eef2f7;
}
.nucleo-total-list span{
  font-size:.8rem;
  color:#475569;
  font-weight:750;
}
.nucleo-total-list strong{
  font-size:.82rem;
  color:#0f172a;
  white-space:nowrap;
}
.nucleo-empty-totais{
  grid-column:1/-1;
  padding:20px;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#f8fafc;
  color:#64748b;
  text-align:center;
  font-weight:750;
}
@media (max-width:1500px){.nucleo-totais-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:992px){.nucleo-totais-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.nucleo-totais-grid{grid-template-columns:1fr;}}


/* V60 — Totais em expander, busca e versão discreta */
.upload-version-pill{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.25rem .55rem;
  border-radius:999px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.02em;
}
.version-footer-signature{
  display:inline-flex;
  align-items:center;
  padding:.28rem .65rem;
  border-radius:999px;
  border:1px solid #dbeafe;
  background:#f8fbff;
  color:#475569;
  font-size:.78rem;
  font-weight:850;
}
.nucleo-totais-section{
  padding:0 !important;
  overflow:visible !important;
}
.nucleo-totais-section summary{
  list-style:none;
}
.nucleo-totais-section summary::-webkit-details-marker{
  display:none;
}
.nucleo-totais-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  cursor:pointer;
}
.nucleo-totais-body{
  border-top:1px solid #dbeafe;
  padding:18px;
}
.nucleo-totais-chevron{
  transition:transform .18s ease;
}
.nucleo-totais-section[open] .nucleo-totais-chevron{
  transform:rotate(180deg);
}
.nucleo-totais-section:not([open]) .nucleo-totais-body{
  display:none;
}
.nucleo-totais-search-btn{
  position:fixed;
  right:1.25rem;
  bottom:1.25rem;
}
.nucleo-total-card-head span:not(.pill)+span{
  margin-top:2px;
}


/* V61 — Totais robustos e exportadores em expander */
.nucleo-exporters-section{
  padding:0 !important;
  overflow:visible !important;
}
.nucleo-exporters-section summary{
  list-style:none;
}
.nucleo-exporters-section summary::-webkit-details-marker{
  display:none;
}
.nucleo-exporters-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  cursor:pointer;
}
.nucleo-exporters-body{
  border-top:1px solid #dbeafe;
  padding:0 18px 18px;
}
.nucleo-exporters-chevron{
  transition:transform .18s ease;
}
.nucleo-exporters-section[open] .nucleo-exporters-chevron{
  transform:rotate(180deg);
}
.nucleo-exporters-section:not([open]) .nucleo-exporters-body{
  display:none;
}
.upload-version-pill{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.25rem .55rem;
  border-radius:999px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.02em;
}


/* V61.0.1 — Expander elegante da nota técnica na tela de upload */
.upload-note-expander{
  margin-top:1rem;
  border:1px solid #dbeafe;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  overflow:hidden;
}
.upload-note-expander summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem 1.1rem;
  background:linear-gradient(135deg,rgba(37,99,235,.05),rgba(8,166,200,.08));
}
.upload-note-expander summary::-webkit-details-marker{display:none}
.upload-note-expander summary::after{
  content:'\F282';
  font-family:'bootstrap-icons';
  margin-left:auto;
  color:#1d4ed8;
  font-size:1rem;
  transition:transform .2s ease;
}
.upload-note-expander[open] summary::after{transform:rotate(180deg)}
.upload-note-summary-icon{
  width:54px;height:54px;flex:0 0 54px;border-radius:18px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2563eb,#08a6c8);color:#fff;font-size:1.35rem;
  box-shadow:0 14px 30px rgba(37,99,235,.22);
}
.upload-note-summary-copy{display:flex;flex-direction:column;gap:.18rem;min-width:0}
.upload-note-summary-copy small{
  color:#2563eb;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;
}
.upload-note-summary-copy strong{font-size:1.05rem;color:#0f172a;line-height:1.2}
.upload-note-summary-copy em{font-style:normal;color:#64748b;font-size:.92rem}
.upload-note-summary-badges{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}
.upload-mini-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.38rem .72rem;border-radius:999px;border:1px solid #dbeafe;
  background:#fff;color:#475569;font-size:.76rem;font-weight:850;
}
.upload-mini-badge.is-version{background:#eff6ff;color:#1d4ed8}
.upload-note-body{padding:1.2rem;display:grid;gap:1rem}
.upload-note-hero{
  display:grid;grid-template-columns:1.45fr .95fr;gap:1rem;align-items:start;
  padding:1rem 1.05rem;border:1px solid #dbeafe;border-radius:20px;
  background:linear-gradient(135deg,rgba(239,246,255,.75),rgba(255,255,255,.95));
}
.upload-note-kicker{
  display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:999px;
  background:#dbeafe;color:#1d4ed8;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;
}
.upload-note-hero h3{margin:0 0 .45rem;font-size:1.25rem;color:#0f172a}
.upload-note-hero p{margin:0;color:#475569;line-height:1.7}
.upload-note-hero-pills{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;align-content:flex-start}
.upload-note-hero-pills span{
  display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .8rem;border-radius:14px;
  border:1px solid #dbeafe;background:#fff;color:#1e3a8a;font-weight:800;font-size:.84rem;
}
.upload-note-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.upload-note-card{
  border:1px solid #e2e8f0;border-radius:18px;padding:1rem;background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.upload-note-card-icon{width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#1d4ed8;font-size:1.05rem;margin-bottom:.65rem}
.upload-note-card h4,.upload-note-rules h4,.upload-note-flow h4{margin:0 0 .4rem;color:#0f172a;font-size:1rem}
.upload-note-card p,.upload-note-section-head p{margin:0;color:#64748b;line-height:1.65;font-size:.92rem}
.upload-note-rules,.upload-note-flow{border:1px solid #e2e8f0;border-radius:22px;padding:1rem;background:#fff}
.upload-note-section-head{display:grid;gap:.28rem;margin-bottom:.85rem}
.upload-note-section-tag{display:inline-flex;width:max-content;align-items:center;padding:.26rem .68rem;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.upload-note-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}
.upload-rule-value-card{border-radius:18px;padding:1rem;border:1px solid #e2e8f0;background:#f8fbff;display:grid;gap:.2rem}
.upload-rule-value-card small{font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.upload-rule-value-card strong{font-size:1rem;color:#0f172a}
.upload-rule-value-card b{font-size:1.45rem;color:#0f172a;line-height:1.1}
.upload-rule-value-card span{color:#64748b;font-size:.9rem;line-height:1.45}
.upload-rule-value-card.is-green{background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%);border-color:#bbf7d0}
.upload-rule-value-card.is-blue{background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);border-color:#bfdbfe}
.upload-rule-value-card.is-amber{background:linear-gradient(180deg,#ffffff 0%,#fffbeb 100%);border-color:#fde68a}
.upload-rule-value-card-wide{grid-column:span 1}
.upload-note-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.upload-note-structured-card{border:1px solid #e2e8f0;border-radius:18px;padding:1rem;background:#f8fbff}
.upload-note-structured-card h5{margin:0 0 .75rem;font-size:.98rem;color:#0f172a;display:flex;align-items:center;gap:.5rem}
.upload-note-structured-card ol,.upload-note-structured-card ul{margin:0;padding-left:1.1rem;color:#475569;display:grid;gap:.55rem;line-height:1.6;font-size:.92rem}
.upload-note-alert{
  margin-top:.9rem;display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border-radius:18px;
  background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;color:#9a3412;
}
.upload-note-alert i{font-size:1.1rem;margin-top:.1rem}
.upload-note-alert strong{display:block;color:#9a3412;margin-bottom:.2rem}
.upload-note-alert p{margin:0;line-height:1.65}
.upload-note-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
.upload-flow-mini-card{border:1px solid #e2e8f0;border-radius:18px;padding:.95rem;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);display:grid;gap:.35rem}
.upload-flow-mini-card span:first-child{width:34px;height:34px;border-radius:999px;background:#eff6ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-weight:950}
.upload-flow-mini-card strong{color:#0f172a;font-size:.95rem}
.upload-flow-mini-card p{margin:0;color:#64748b;line-height:1.55;font-size:.88rem}
@media (max-width: 1399.98px){
  .upload-note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .upload-note-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 991.98px){
  .upload-note-expander summary{flex-wrap:wrap}
  .upload-note-summary-badges{width:100%;justify-content:flex-start}
  .upload-note-hero,.upload-note-columns{grid-template-columns:1fr}
  .upload-note-hero-pills{justify-content:flex-start}
  .upload-note-rule-grid{grid-template-columns:1fr}
  .upload-note-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 767.98px){
  .upload-note-body{padding:1rem}
  .upload-note-grid,.upload-note-flow-grid{grid-template-columns:1fr}
  .upload-note-summary-copy strong{font-size:.98rem}
  .upload-note-summary-copy em{font-size:.86rem}
}


/* V61.0.1 — Nota técnica completa no Upload */
.upload-note-body-full{
  gap:1.15rem;
}
.upload-note-cover{
  display:grid;
  grid-template-columns:1.5fr .85fr;
  gap:1rem;
  padding:1.1rem;
  border-radius:22px;
  border:1px solid #bfdbfe;
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.12), transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#eff6ff 100%);
}
.upload-note-cover-main h3{
  margin:.15rem 0 .55rem;
  color:#0f172a;
  font-size:1.45rem;
  line-height:1.18;
  letter-spacing:-.03em;
}
.upload-note-cover-main p,
.upload-note-cover-panel p{
  margin:0;
  color:#475569;
  line-height:1.72;
}
.upload-note-cover-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.85rem;
}
.upload-note-cover-meta span{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.42rem .7rem;
  border-radius:999px;
  border:1px solid #dbeafe;
  background:#fff;
  color:#334155;
  font-weight:800;
  font-size:.82rem;
}
.upload-note-cover-panel{
  align-self:stretch;
  border-radius:20px;
  padding:1rem;
  color:#0f172a;
  border:1px solid #fde68a;
  background:linear-gradient(180deg,#fff 0%,#fffbeb 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.upload-note-cover-panel strong{
  display:block;
  margin-bottom:.35rem;
  color:#92400e;
  font-size:1rem;
}
.upload-note-toc{
  border:1px solid #dbeafe;
  border-radius:22px;
  padding:1rem;
  background:#fff;
}
.upload-note-toc-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  margin-bottom:.85rem;
}
.upload-note-toc-head strong{
  color:#0f172a;
  font-size:1rem;
}
.upload-note-toc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}
.upload-note-toc-grid a{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:.65rem;
  row-gap:.08rem;
  align-items:start;
  text-decoration:none;
  color:inherit;
  padding:.75rem;
  border-radius:16px;
  border:1px solid #e2e8f0;
  background:#f8fbff;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.upload-note-toc-grid a:hover{
  transform:translateY(-1px);
  border-color:#93c5fd;
  box-shadow:0 10px 22px rgba(37,99,235,.08);
}
.upload-note-toc-grid a span{
  grid-row:span 2;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:950;
}
.upload-note-toc-grid a b{
  color:#0f172a;
  font-size:.92rem;
}
.upload-note-toc-grid a em{
  font-style:normal;
  color:#64748b;
  font-size:.82rem;
}
.upload-note-section{
  border:1px solid #e2e8f0;
  border-radius:22px;
  padding:1rem;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.035);
}
.upload-note-highlight-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}
.upload-note-highlight{
  display:flex;
  gap:.72rem;
  align-items:flex-start;
  border-radius:18px;
  border:1px solid #e2e8f0;
  padding:.9rem;
  background:#f8fafc;
}
.upload-note-highlight i{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#fff;
}
.upload-note-highlight strong{
  display:block;
  color:#0f172a;
  margin-bottom:.18rem;
}
.upload-note-highlight span{
  color:#64748b;
  font-size:.9rem;
  line-height:1.55;
}
.upload-note-highlight.is-success{
  border-color:#bbf7d0;
  background:#f0fdf4;
}
.upload-note-highlight.is-success i{color:#15803d}
.upload-note-highlight.is-warning{
  border-color:#fed7aa;
  background:#fff7ed;
}
.upload-note-highlight.is-warning i{color:#c2410c}
.upload-note-highlight.is-info{
  border-color:#bfdbfe;
  background:#eff6ff;
}
.upload-note-highlight.is-info i{color:#1d4ed8}
.upload-note-table-wrap{
  width:100%;
  overflow:auto;
  border-radius:18px;
  border:1px solid #dbeafe;
  background:#fff;
}
.upload-note-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:720px;
  font-size:.88rem;
}
.upload-note-table thead th{
  background:#1f4e79;
  color:#fff;
  font-weight:900;
  padding:.75rem .85rem;
  border-right:1px solid rgba(255,255,255,.22);
}
.upload-note-table thead th:last-child{border-right:0}
.upload-note-table tbody td{
  padding:.72rem .85rem;
  border-top:1px solid #dbeafe;
  border-right:1px solid #e2e8f0;
  color:#334155;
  vertical-align:top;
  line-height:1.55;
}
.upload-note-table tbody td:last-child{border-right:0}
.upload-note-table tbody tr:nth-child(even) td{
  background:#f8fbff;
}
.upload-note-table tbody td:first-child{
  font-weight:900;
  color:#0f172a;
}
.upload-note-flow-grid-detailed{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.upload-note-check-card{
  border:1px solid #dbeafe;
  border-radius:18px;
  padding:1rem;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.upload-note-check-card h5{
  margin:0 0 .75rem;
  color:#0f172a;
  font-size:1rem;
  display:flex;
  gap:.5rem;
  align-items:center;
}
.upload-note-check-card ul{
  margin:0;
  padding-left:1.1rem;
  display:grid;
  gap:.5rem;
  color:#475569;
  line-height:1.6;
}
.upload-note-final-card{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:1rem;
  border-radius:18px;
  border:1px solid #bbf7d0;
  background:linear-gradient(135deg,#f0fdf4,#ffffff);
}
.upload-note-final-card i{
  color:#15803d;
  font-size:1.25rem;
}
.upload-note-final-card strong{
  display:block;
  color:#166534;
  margin-bottom:.25rem;
}
.upload-note-final-card span{
  display:block;
  color:#334155;
  line-height:1.65;
}
.mt-3{margin-top:1rem!important}
@media (max-width:1399.98px){
  .upload-note-flow-grid-detailed{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:991.98px){
  .upload-note-cover{grid-template-columns:1fr}
  .upload-note-toc-grid{grid-template-columns:1fr}
  .upload-note-highlight-row{grid-template-columns:1fr}
}
@media (max-width:767.98px){
  .upload-note-cover-main h3{font-size:1.15rem}
  .upload-note-flow-grid-detailed{grid-template-columns:1fr}
}


/* V61.0.1 — Incremento de conteúdo rico e sumário sem fechar expander */
.upload-note-toc-grid a,
.upload-note-toc-grid button.upload-note-toc-btn{
  width:100%;
  border:1px solid #e2e8f0;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
button.upload-note-toc-btn{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:.65rem;
  row-gap:.08rem;
  align-items:start;
  color:inherit;
  padding:.75rem;
  border-radius:16px;
  background:#f8fbff;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
button.upload-note-toc-btn:hover{
  transform:translateY(-1px);
  border-color:#93c5fd;
  box-shadow:0 10px 22px rgba(37,99,235,.08);
}
button.upload-note-toc-btn:focus-visible{
  outline:3px solid rgba(37,99,235,.22);
  outline-offset:2px;
}
button.upload-note-toc-btn span{
  grid-row:span 2;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:950;
}
button.upload-note-toc-btn b{
  color:#0f172a;
  font-size:.92rem;
}
button.upload-note-toc-btn em{
  font-style:normal;
  color:#64748b;
  font-size:.82rem;
}
.upload-note-grid-dense{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.upload-note-callout-blue{
  display:flex;
  gap:.85rem;
  align-items:flex-start;
  padding:1rem;
  border-radius:18px;
  border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#eff6ff,#ffffff);
  color:#1e3a8a;
}
.upload-note-callout-blue i{
  font-size:1.2rem;
  margin-top:.1rem;
}
.upload-note-callout-blue strong{
  display:block;
  margin-bottom:.2rem;
  color:#1d4ed8;
}
.upload-note-callout-blue p{
  margin:0;
  color:#334155;
  line-height:1.65;
}
.upload-note-role-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem;
}
.upload-note-role-card{
  border:1px solid #fed7aa;
  border-radius:18px;
  padding:1rem;
  background:linear-gradient(180deg,#fff,#fff7ed);
  display:grid;
  gap:.55rem;
}
.upload-note-role-card.is-blue{
  border-color:#bfdbfe;
  background:linear-gradient(180deg,#fff,#eff6ff);
}
.upload-note-role-card h5{
  margin:0;
  color:#0f172a;
  font-size:.98rem;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.upload-note-role-card p{
  margin:0;
  color:#475569;
  line-height:1.6;
  font-size:.9rem;
}
.upload-note-role-card ul{
  margin:0;
  padding-left:1.05rem;
  color:#64748b;
  display:grid;
  gap:.32rem;
  font-size:.86rem;
  line-height:1.45;
}
.upload-note-role-card h5 i{
  color:#c2410c;
}
.upload-note-role-card.is-blue h5 i{
  color:#1d4ed8;
}
.upload-note-role-section .upload-note-section-head{
  margin-bottom:1rem;
}
html{
  scroll-behavior:smooth;
}
.upload-note-section{
  scroll-margin-top:92px;
}
@media (max-width:1399.98px){
  .upload-note-role-grid,
  .upload-note-grid-dense{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767.98px){
  .upload-note-role-grid,
  .upload-note-grid-dense{grid-template-columns:1fr;}
}

/* V61.0.7 — PIN da Central de Versões */
.version-pin-layer{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.version-pin-layer.d-none{display:none!important}
.version-pin-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(3px);
}
.version-pin-card{
  position:relative;
  z-index:1;
  width:min(430px,100%);
  border:1px solid rgba(147,197,253,.65);
  border-radius:26px;
  padding:26px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 30px 80px rgba(15,23,42,.26);
  text-align:left;
}
.version-pin-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:20px;
  line-height:1;
}
.version-pin-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#08a6c8);
  box-shadow:0 16px 32px rgba(37,99,235,.22);
  font-size:1.35rem;
  margin-bottom:14px;
}
.version-pin-kicker{
  display:inline-flex;
  padding:.28rem .65rem;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.72rem;
}
.version-pin-card h2{
  margin:.55rem 0 .35rem;
  font-size:1.28rem;
  color:#0f172a;
  font-weight:950;
}
.version-pin-card p{
  margin:0 0 1rem;
  color:#64748b;
  line-height:1.55;
}
.version-pin-input{
  width:100%;
  height:50px;
  border:1px solid #cbd5e1;
  border-radius:16px;
  padding:0 14px;
  outline:none;
  font-size:1rem;
  margin-bottom:.75rem;
}
.version-pin-input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.14);
}
.version-pin-button{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#2563eb,#08a6c8);
  color:#fff;
  font-weight:900;
}
.version-pin-error{
  display:none;
  margin:-.25rem 0 .75rem;
  padding:.65rem .75rem;
  border-radius:14px;
  border:1px solid #fecaca;
  background:#fef2f2;
  color:#991b1b;
  font-size:.9rem;
}
.version-pin-error.show{display:block}

/* V61.0.9 — Cards em destaque na Exportação do Núcleo */
.nucleo-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.nucleo-feature-card{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  min-height:300px;
  padding:18px;
  border-radius:22px;
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.nucleo-feature-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  background:#eff6ff;
  color:#1d4ed8;
}
.nucleo-feature-card small{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:.25rem .6rem;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-weight:950;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.nucleo-feature-card h2{
  margin:.45rem 0 .35rem;
  font-size:1.08rem;
  color:#0f172a;
  font-weight:950;
  line-height:1.25;
}
.nucleo-feature-card p{
  margin:0;
  color:#64748b;
  line-height:1.55;
}
.nucleo-feature-card button{
  margin-top:auto;
}
.nucleo-feature-card.feature-hr .nucleo-feature-icon{background:#dcfce7;color:#15803d}
.nucleo-feature-card.feature-pdf .nucleo-feature-icon{background:#fee2e2;color:#dc2626}
.nucleo-feature-card.feature-xlsx .nucleo-feature-icon{background:#eff6ff;color:#2563eb}
.nucleo-feature-card.feature-master .nucleo-feature-icon{background:#ede9fe;color:#6d28d9}
@media (max-width:1399.98px){
  .nucleo-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767.98px){
  .nucleo-feature-grid{grid-template-columns:1fr;}
  .nucleo-feature-card{min-height:auto;}
}

/* V61.0.10 — Toast pós-processamento do upload */
.upload-success-toast{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:2147482600;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:min(420px, calc(100vw - 32px));
  max-width:520px;
  padding:15px 16px;
  border-radius:18px;
  border:1px solid #bbf7d0;
  background:linear-gradient(135deg,#f0fdf4,#ffffff);
  color:#0f172a;
  box-shadow:0 22px 56px rgba(15,23,42,.20);
  transform:translateY(18px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.upload-success-toast.show{
  opacity:1;
  transform:translateY(0);
}
.upload-success-toast.is-warning{
  border-color:#fed7aa;
  background:linear-gradient(135deg,#fff7ed,#ffffff);
}
.upload-success-toast-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  background:#dcfce7;
  color:#15803d;
  font-size:1.05rem;
}
.upload-success-toast.is-warning .upload-success-toast-icon{
  background:#ffedd5;
  color:#c2410c;
}
.upload-success-toast strong{
  display:block;
  font-weight:950;
  margin-bottom:2px;
}
.upload-success-toast small{
  display:block;
  color:#475569;
  line-height:1.4;
}

/* V61.0.34 — seletor multiverbas no Núcleo */
.verbas-multi-select{
  position:relative;
}
.verbas-multi-button{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:.35rem;
  padding:.65rem .8rem;
  border:1px solid #cfe0ff;
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  font-weight:850;
  text-align:left;
}
.verbas-multi-button:focus{
  outline:0;
  border-color:#0d6efd;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.14);
}
.verbas-multi-panel{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:50;
  max-height:295px;
  overflow:auto;
  padding:.75rem;
  border:1px solid #cfe0ff;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.16);
}
.verbas-multi-panel.show{display:block}
.verbas-multi-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin-bottom:.6rem;
}
.verbas-check{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.48rem .35rem;
  border-radius:10px;
  cursor:pointer;
  font-weight:800;
  color:#0f172a;
}
.verbas-check:hover{
  background:#f1f5f9;
}
.verbas-check input{
  width:16px;
  height:16px;
}

/* V61.0.34 — menu compacto da appbar pós-upload */
.appbar-actions-toggle{
  border-color:#cfe0ff!important;
}
body.appbar-actions-collapsed #desktopNav > [data-route-link]:not([data-route-link="upload"]):not([data-route-link="exportacao-nucleo"]),
body.appbar-actions-collapsed #desktopNav > #btnVersionCenter,
body.appbar-actions-collapsed #desktopNav > #accessLogoutBtn{
  display:none!important;
}
body.appbar-actions-collapsed #desktopNav > #btnToggleAppbarActions{
  display:inline-flex!important;
}
.nucleo-toggle-list{
  display:grid;
  gap:.55rem;
  padding:.65rem;
  border:1px solid #dbeafe;
  border-radius:16px;
  background:#f8fbff;
}
.nucleo-mini-toggle{
  display:flex;
  align-items:center;
  gap:.65rem;
  cursor:pointer;
  margin:0;
}
.nucleo-mini-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.nucleo-mini-toggle .toggle-track{
  width:42px;
  height:24px;
  border-radius:999px;
  background:#dbe3ef;
  position:relative;
  flex:0 0 42px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}
.nucleo-mini-toggle .toggle-track::after{
  content:'';
  width:18px;
  height:18px;
  border-radius:999px;
  position:absolute;
  top:3px;
  left:3px;
  background:#fff;
  box-shadow:0 2px 6px rgba(15,23,42,.18);
  transition:left .18s ease, background .18s ease;
}
.nucleo-mini-toggle input:checked + .toggle-track{
  background:linear-gradient(135deg,#0d6efd,#08a6c8);
}
.nucleo-mini-toggle input:checked + .toggle-track::after{
  left:21px;
}
.nucleo-mini-toggle strong{
  display:block;
  font-size:.9rem;
  color:#0f172a;
}
.nucleo-mini-toggle small{
  display:block;
  color:#64748b;
  line-height:1.2;
}

/* V61.0.34 — correção robusta do botão Menu/Ocultar da appbar */
body.appbar-actions-expanded #desktopNav > [data-route-link],
body.appbar-actions-expanded #desktopNav > #btnVersionCenter,
body.appbar-actions-expanded #desktopNav > #accessLogoutBtn,
body.appbar-actions-expanded #desktopNav > #btnToggleAppbarActions{
  display:inline-flex!important;
}
body.appbar-actions-collapsed #desktopNav > #btnUploadTopbar,
body.appbar-actions-collapsed #desktopNav > [data-route-link="exportacao-nucleo"],
body.appbar-actions-collapsed #desktopNav > #btnToggleAppbarActions{
  display:inline-flex!important;
}

/* V61.0.34 — Appbar compacta corrigida */
#btnToggleAppbarActions{display:none;}
body.appbar-actions-collapsed #btnToggleAppbarActions,
body.appbar-actions-expanded #btnToggleAppbarActions{display:inline-flex!important;}
body.appbar-actions-collapsed #desktopNav > [data-route-link]:not([data-route-link="upload"]):not([data-route-link="exportacao-nucleo"]),
body.appbar-actions-collapsed #desktopNav > #btnVersionCenter,
body.appbar-actions-collapsed #desktopNav > #accessLogoutBtn{display:none!important;}
body.appbar-actions-expanded #desktopNav > [data-route-link],
body.appbar-actions-expanded #desktopNav > #btnVersionCenter,
body.appbar-actions-expanded #desktopNav > #accessLogoutBtn,
body.appbar-actions-expanded #desktopNav > #btnToggleAppbarActions{display:inline-flex!important;}
body.is-pre-upload #desktopNav > [data-route-link]:not([data-route-link="upload"]),
body.is-pre-upload #desktopNav > #btnToggleAppbarActions{display:none!important;}

/* V61.0.34 — matriz de casos na página Regras de Pagamento */
.regras-matriz-card{overflow:hidden}
.regras-expander-head{
  width:100%;
  border:0;
  background:linear-gradient(135deg,#f8fbff,#eef7ff);
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.15rem 1.35rem;
  text-align:left;
  color:#0f172a;
}
.regras-expander-head strong{
  display:block;
  font-size:1.05rem;
}
.regras-expander-head small{
  display:block;
  color:#64748b;
}
.regras-search-box{
  position:relative;
  min-width:min(100%,360px);
}
.regras-search-box i{
  position:absolute;
  left:.85rem;
  top:50%;
  transform:translateY(-50%);
  color:#64748b;
}
.regras-search-box input{
  padding-left:2.4rem;
  border-radius:14px;
  min-height:44px;
}
.regras-matriz-table-wrap{
  max-height:560px;
  border:1px solid #dbeafe;
  border-radius:16px;
}
.regras-matriz-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f8fafc;
  box-shadow:0 1px 0 #dbeafe;
}
.regras-matriz-table td,
.regras-matriz-table th{
  white-space:nowrap;
}
.regras-matriz-table td:last-child{
  min-width:340px;
  white-space:normal;
}

/* V61.0.55 - Organização dos indicadores da Exportação Núcleo */
.nucleo-hero-stats-expander{
  min-width:0 !important;
  width:100% !important;
  grid-template-columns:repeat(4,minmax(130px,1fr));
}
@media (max-width: 900px){
  .nucleo-hero-stats-expander{grid-template-columns:repeat(2,minmax(120px,1fr)) !important;}
}
@media (max-width: 520px){
  .nucleo-hero-stats-expander{grid-template-columns:1fr !important;}
}

/* V61.0.58 — Padronização visual dos cards do Núcleo e formatos de saída */
.nucleo-export-page .nucleo-export-card .btn,
.nucleo-export-page .nucleo-feature-card .btn,
.nucleo-export-page .nucleo-card-grid .btn{
  border-radius:14px;
  font-weight:900;
  letter-spacing:-.01em;
}
.nucleo-export-page .btn-app-primary{
  background:linear-gradient(135deg,#1773f8 0%,#06b6d4 100%) !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(14,116,255,.16);
}
.nucleo-format-select{
  border:1px solid #bfdbfe;
  border-radius:13px;
  font-weight:800;
  color:#0f172a;
  background-color:#fff;
}
.nucleo-format-select option:disabled{color:#94a3b8;}
.nucleo-export-card .form-label.small{color:#334155;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;}

/* V61.0.67 — Unificação dos arquivos individuais e marca d'água nos cards */
.nucleo-export-page .nucleo-feature-card,
.nucleo-export-page .nucleo-export-card,
.nucleo-export-page .nucleo-hero{
  position:relative;
  overflow:hidden;
}
.nucleo-export-page .nucleo-feature-card > *,
.nucleo-export-page .nucleo-export-card > *,
.nucleo-export-page .nucleo-hero > *{
  position:relative;
  z-index:1;
}
.nucleo-export-page .nucleo-feature-card::after,
.nucleo-export-page .nucleo-export-card::after,
.nucleo-export-page .nucleo-hero::after{
  content:attr(data-watermark);
  position:absolute;
  right:-16px;
  bottom:8px;
  z-index:0;
  font-size:3.6rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.06em;
  color:rgba(30,64,175,.045);
  transform:rotate(-10deg);
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
}
.nucleo-triple-toggle{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
  padding:.45rem;
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:18px;
}
.nucleo-triple-option{
  margin:0;
  cursor:pointer;
}
.nucleo-triple-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.nucleo-triple-option span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  width:100%;
  min-height:42px;
  border-radius:14px;
  color:#334155;
  background:#fff;
  border:1px solid #dbeafe;
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  transition:.18s ease;
}
.nucleo-triple-option span i{font-size:1.05rem;}
.nucleo-triple-option input:checked + span{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#1773f8 0%,#06b6d4 100%);
  box-shadow:0 14px 30px rgba(14,116,255,.16);
}
.nucleo-feature-card.feature-individual .nucleo-feature-icon{background:#eff6ff;color:#2563eb;}
@media (max-width:520px){.nucleo-triple-toggle{grid-template-columns:1fr;}}

/* V61.0.68 — Refinamento visual dos cards do Núcleo com Material Symbols */
.material-symbols-rounded{
  font-family:'Material Symbols Rounded';
  font-weight:600;
  font-style:normal;
  font-size:1.15em;
  line-height:1;
  letter-spacing:normal;
  text-transform:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  word-wrap:normal;
  direction:ltr;
  -webkit-font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;
  font-variation-settings:'FILL' 0,'wght' 650,'GRAD' 0,'opsz' 24;
  vertical-align:-0.18em;
}
.nucleo-export-page .nucleo-hero{
  border:1px solid #cfe0ff;
  background:
    radial-gradient(circle at 0 0, rgba(59,130,246,.11), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef7ff 100%);
  box-shadow:0 18px 44px rgba(15,23,42,.07);
}
.nucleo-export-page .nucleo-hero h1{
  letter-spacing:-.04em;
}
.nucleo-export-page .nucleo-hero p{
  max-width:980px;
  color:#475569;
  line-height:1.6;
}
.nucleo-export-page .nucleo-feature-card,
.nucleo-export-page .nucleo-export-card{
  border:1px solid #cfe0ff;
  background:
    radial-gradient(circle at 100% 0, rgba(14,165,233,.07), transparent 31%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 16px 36px rgba(15,23,42,.055);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nucleo-export-page .nucleo-feature-card:hover,
.nucleo-export-page .nucleo-export-card:hover{
  transform:translateY(-2px);
  border-color:#93c5fd;
  box-shadow:0 22px 48px rgba(15,23,42,.085);
}
.nucleo-export-page .nucleo-feature-icon,
.nucleo-export-page .nucleo-card-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:18px;
  border:1px solid rgba(37,99,235,.10);
  background:linear-gradient(135deg,#eff6ff,#e0f2fe);
  color:#1d4ed8;
  box-shadow:0 12px 24px rgba(37,99,235,.10);
}
.nucleo-export-page .nucleo-feature-icon .material-symbols-rounded,
.nucleo-export-page .nucleo-card-icon .material-symbols-rounded{
  font-size:1.55rem;
  font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 32;
}
.nucleo-feature-card.feature-hr .nucleo-feature-icon{background:linear-gradient(135deg,#dcfce7,#ecfeff);color:#15803d;}
.nucleo-feature-card.feature-individual .nucleo-feature-icon{background:linear-gradient(135deg,#eff6ff,#e0f2fe);color:#1d4ed8;}
.nucleo-feature-card.feature-xlsx .nucleo-feature-icon{background:linear-gradient(135deg,#eef2ff,#eff6ff);color:#4338ca;}
.nucleo-feature-card.feature-master .nucleo-feature-icon{background:linear-gradient(135deg,#f3e8ff,#ede9fe);color:#7e22ce;}
.nucleo-export-page .nucleo-feature-card small,
.nucleo-export-page .nucleo-kicker{
  border:1px solid rgba(37,99,235,.08);
  background:linear-gradient(135deg,#eef6ff,#f8fbff);
  color:#1e3a8a;
}
.nucleo-export-page .nucleo-feature-card h2,
.nucleo-export-page .nucleo-export-card h2{
  letter-spacing:-.025em;
}
.nucleo-export-page .nucleo-feature-card p,
.nucleo-export-page .nucleo-export-card p{
  color:#52637a;
  font-size:.94rem;
  line-height:1.58;
}
.nucleo-export-page .nucleo-export-card{
  padding:18px;
  min-height:360px;
  gap:.85rem;
}
.nucleo-export-page .nucleo-export-card .nucleo-card-copy{
  margin-bottom:.15rem;
}
.nucleo-export-page .form-label,
.nucleo-export-page .form-label.small{
  color:#0f172a;
  font-weight:900!important;
  letter-spacing:.02em;
}
.nucleo-export-page .form-select,
.nucleo-export-page .nucleo-format-select,
.nucleo-export-page .verbas-multi-button{
  min-height:44px;
  border-color:#bfdbfe;
  border-radius:15px;
  background-color:#fff;
  font-weight:850;
  box-shadow:0 8px 20px rgba(15,23,42,.025);
}
.nucleo-export-page .btn-app-primary{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.15rem;
}
.nucleo-export-page .btn-app-primary .material-symbols-rounded{
  font-size:1.12rem;
  font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 24;
}
.nucleo-triple-option span .material-symbols-rounded{
  font-size:1.15rem;
  font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 24;
}
.nucleo-exporters-summary{
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  border-radius:20px;
}
.nucleo-exporters-summary .material-symbols-rounded{
  font-size:1.25rem;
}

/* V61.0.69 — Correções visuais dos cards do Núcleo */
.nucleo-export-page .nucleo-feature-card,
.nucleo-export-page .nucleo-export-card,
.nucleo-export-page .nucleo-hero{
  overflow:visible !important;
}
.nucleo-export-page .nucleo-export-card::after,
.nucleo-export-page .nucleo-feature-card::after,
.nucleo-export-page .nucleo-hero::after{
  z-index:0;
  opacity:.92;
}
.nucleo-export-page .nucleo-export-card{
  min-height:0;
  padding:20px 20px 18px;
  display:flex;
  flex-direction:column;
}
.nucleo-export-page .nucleo-export-card .btn-app-primary,
.nucleo-export-page .nucleo-feature-card .btn-app-primary{
  margin-top:auto;
}
.nucleo-export-page .nucleo-card-copy h2,
.nucleo-export-page .nucleo-feature-card h2{
  font-size:1.08rem;
  line-height:1.22;
  margin-bottom:.42rem;
}
.nucleo-export-page .nucleo-card-copy p,
.nucleo-export-page .nucleo-feature-card p{
  min-height:auto;
  margin-bottom:.85rem;
  color:#475569;
}
.nucleo-export-page .nucleo-card-icon,
.nucleo-export-page .nucleo-feature-icon{
  width:50px;
  height:50px;
  flex-basis:50px;
}
.nucleo-export-page .nucleo-card-icon .material-symbols-rounded,
.nucleo-export-page .nucleo-feature-icon .material-symbols-rounded{
  font-size:1.45rem;
}
.verbas-multi-select{
  z-index:20;
}
.verbas-multi-panel{
  z-index:12000 !important;
  max-height:360px;
  overscroll-behavior:contain;
}
.verbas-check{
  border-radius:10px;
}
.verbas-check:hover{
  background:#eef6ff;
}
.nucleo-triple-toggle{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  padding:.45rem;
}
.nucleo-triple-option span{
  min-height:48px;
  gap:.35rem;
  padding:.35rem .45rem;
  white-space:nowrap;
  overflow:hidden;
}
.nucleo-triple-option span strong{
  font-size:.9rem;
  line-height:1;
}
.nucleo-triple-option span .material-symbols-rounded{
  flex:0 0 auto;
  font-size:1.1rem;
}
@media (max-width: 1280px){
  .nucleo-triple-option span strong{font-size:.82rem;}
  .nucleo-triple-option span{gap:.25rem;padding:.3rem .35rem;}
}
@media (max-width: 520px){
  .nucleo-triple-toggle{grid-template-columns:1fr;}
  .nucleo-triple-option span strong{font-size:.95rem;}
}
.nucleo-export-page .form-label.small,
.nucleo-export-page .form-label{
  margin-top:.25rem;
  margin-bottom:.45rem;
}
.nucleo-export-page .small.text-secondary{
  line-height:1.45;
}


/* V61.0.73 — correção final dos dropdowns e toggle triplo do Núcleo */
.nucleo-export-page .nucleo-feature-card,
.nucleo-export-page .nucleo-export-card{
  isolation:isolate;
}
.nucleo-export-page .nucleo-feature-card.nucleo-dropdown-open,
.nucleo-export-page .nucleo-export-card.nucleo-dropdown-open,
.nucleo-export-page .nucleo-feature-card:has(.verbas-multi-panel.show),
.nucleo-export-page .nucleo-export-card:has(.verbas-multi-panel.show){
  overflow:visible!important;
  z-index:2000!important;
}
.nucleo-export-page .verbas-multi-select{
  position:relative;
  z-index:80!important;
}
.nucleo-export-page .verbas-multi-select.open,
.nucleo-export-page .verbas-multi-select:has(.verbas-multi-panel.show){
  z-index:3000!important;
}
.nucleo-export-page .verbas-multi-panel{
  z-index:3100!important;
  max-height:320px;
  box-shadow:0 26px 70px rgba(15,23,42,.24);
  border:1px solid #93c5fd;
}
.nucleo-export-page .verbas-multi-panel.show{
  display:block;
}
.nucleo-export-page .verbas-check{
  min-height:34px;
  padding:.42rem .55rem;
  line-height:1.15;
}
.nucleo-export-page .verbas-check input{
  flex:0 0 auto;
}
.nucleo-export-page .nucleo-triple-toggle{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.45rem;
  padding:.38rem;
  overflow:visible;
}
.nucleo-export-page .nucleo-triple-option{
  min-width:0;
}
.nucleo-export-page .nucleo-triple-option > span{
  min-width:0;
  min-height:58px;
  flex-direction:column;
  gap:.18rem;
  padding:.45rem .25rem;
  white-space:normal;
  overflow:visible;
  text-align:center;
}
.nucleo-export-page .nucleo-triple-option > span .material-symbols-rounded{
  font-size:1.05rem!important;
  line-height:1;
}
.nucleo-export-page .nucleo-triple-option > span strong{
  max-width:100%;
  display:block;
  font-size:.76rem!important;
  line-height:1.05;
  letter-spacing:-.01em;
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
}
.nucleo-export-page .feature-individual .nucleo-feature-card,
.nucleo-export-page .feature-individual{
  overflow:hidden;
}
.nucleo-export-page .feature-individual .nucleo-triple-toggle{
  margin-top:.2rem;
  margin-bottom:1rem!important;
}
@media (max-width: 1500px){
  .nucleo-export-page .nucleo-triple-option > span strong{font-size:.72rem!important;}
  .nucleo-export-page .nucleo-triple-option > span{padding:.42rem .18rem;}
}
@media (max-width: 520px){
  .nucleo-export-page .nucleo-triple-toggle{grid-template-columns:1fr;}
  .nucleo-export-page .nucleo-triple-option > span{flex-direction:row;min-height:46px;gap:.4rem;padding:.45rem .75rem;}
  .nucleo-export-page .nucleo-triple-option > span strong{font-size:.92rem!important;}
}

/* V61.0.73 — Material Symbols liberado no Cloudflare Pages.
   O CSS mantém a família correta; o _headers libera fonts.googleapis.com e fonts.gstatic.com. */
.material-symbols-rounded{
  font-family: 'Material Symbols Rounded' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 1.25em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'liga';
}


/* V61.0.73 — refinamento Upload, nota técnica e modal de confirmação */
.upload-status-card{
  width:max-content;
  max-width:100%;
  min-height:44px;
  padding:.62rem .82rem;
  border-radius:999px;
  background:rgba(248,250,252,.9);
  border:1px solid #dbeafe;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.upload-status-card .upload-version-pill{
  margin-left:.25rem;
  padding:.22rem .55rem;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
  font-size:.76rem;
  font-weight:950;
}
.upload-note-expander{
  border-radius:26px;
  border-color:#bfdbfe;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 20px 46px rgba(15,23,42,.07);
}
.upload-note-expander summary{
  padding:1.05rem 1.25rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.10), transparent 30%),
    linear-gradient(135deg,rgba(248,251,255,.96),rgba(239,246,255,.96));
}
.upload-note-summary-icon{
  width:58px;height:58px;border-radius:20px;
  background:linear-gradient(135deg,#0d6efd,#06b6d4);
  box-shadow:0 16px 34px rgba(37,99,235,.22);
}
.upload-note-summary-copy strong{font-size:1.12rem;letter-spacing:-.02em}
.upload-note-summary-copy em{font-size:.9rem;max-width:760px}
.upload-mini-badge{gap:.4rem;font-weight:950;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.upload-mini-badge.is-author{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.upload-note-cover{
  border-radius:26px;
  padding:1.25rem;
  background:
    radial-gradient(circle at 8% 0%, rgba(13,110,253,.13), transparent 26%),
    radial-gradient(circle at 90% 0%, rgba(6,182,212,.13), transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#eff6ff 100%);
}
.upload-note-cover-panel{
  border-color:#bfdbfe;
  background:linear-gradient(180deg,#ffffff 0%,#f0f9ff 100%);
}
.upload-note-cover-panel strong{color:#1d4ed8}
.upload-note-card,
.upload-note-section,
.upload-note-toc,
.upload-note-rules,
.upload-note-flow,
.upload-note-check-card{
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.ahgora-modal-layer{z-index:2147482500;padding:22px}
.ahgora-modal-backdrop{
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(8px);
}
.ahgora-modal-card{
  position:relative;
  width:min(640px,100%);
  padding:0;
  gap:0;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(191,219,254,.9);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 32px 90px rgba(15,23,42,.32);
}
.ahgora-modal-accent{
  position:absolute;inset:0 0 auto 0;height:6px;
  background:linear-gradient(90deg,#0d6efd,#06b6d4);
}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-accent{background:linear-gradient(90deg,#ef4444,#fb7185)}
.ahgora-modal-icon{
  position:absolute;
  top:24px;left:24px;
  width:58px;height:58px;border-radius:20px;
  background:linear-gradient(135deg,#0d6efd,#06b6d4);
  box-shadow:0 16px 34px rgba(13,110,253,.25);
}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-icon{background:linear-gradient(135deg,#ef4444,#fb7185);box-shadow:0 16px 34px rgba(239,68,68,.25)}
.ahgora-modal-body{padding:26px 26px 24px 100px;min-height:120px}
.ahgora-modal-kicker{display:inline-flex;margin-bottom:.35rem;padding:.26rem .65rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-kicker{background:#fff1f2;color:#be123c}
.ahgora-modal-body h2{font-size:1.45rem!important;letter-spacing:-.03em;color:#0f172a}
.ahgora-modal-body p{line-height:1.6;color:#64748b!important}
.ahgora-modal-details{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:14px 16px;color:#334155}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-details{background:#fff7f7;border-color:#fecdd3}
.ahgora-modal-details ul{display:grid;gap:.45rem}
.ahgora-modal-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.2rem}
.ahgora-modal-actions .btn{border-radius:16px;padding:.65rem 1.05rem;font-weight:950;min-width:104px}
@media (max-width:640px){
  .ahgora-modal-body{padding:96px 20px 20px}.ahgora-modal-icon{top:24px;left:20px}.ahgora-modal-actions{flex-direction:column-reverse}.ahgora-modal-actions .btn{width:100%}
}

/* V61.0.73 — upload status discreto, modal saída e nota técnica refinados */
.upload-status-card{
  width:max-content!important;max-width:100%!important;min-height:unset!important;
  padding:.55rem .85rem!important;border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;border:1px solid rgba(191,219,254,.8)!important;
  box-shadow:0 8px 22px rgba(15,68,120,.06)!important;color:#475569!important;
}
.upload-status-card i{color:#006bb6!important;font-size:1rem!important}.upload-status-card span{font-weight:800!important}.upload-version-pill{font-size:.72rem!important;padding:.22rem .55rem!important;background:#eef7ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-dialog{border-radius:28px!important;box-shadow:0 34px 100px rgba(15,23,42,.28)!important;}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-accent{background:linear-gradient(90deg,#006bb6,#00a6d6,#ef4444)!important;}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-icon{background:linear-gradient(135deg,#006bb6,#00a6d6)!important;box-shadow:0 18px 38px rgba(0,107,182,.25)!important;}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-kicker{background:#eff8ff!important;color:#005aa8!important;}
.ahgora-modal-layer[data-tone="danger"] .ahgora-modal-details{background:linear-gradient(135deg,#f8fbff,#fff)!important;border-color:#bfdbfe!important;color:#334155!important;}
.ahgora-modal-body h2{letter-spacing:-.04em!important}.ahgora-modal-body p{font-size:.98rem!important}.ahgora-modal-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#f43f5e)!important;border:0!important;box-shadow:0 14px 28px rgba(239,68,68,.18)!important;}
.upload-note-summary-badges .upload-mini-badge.is-author{background:#eff8ff!important;color:#005aa8!important;border-color:#bfdbfe!important;}
.upload-note-summary-badges .upload-mini-badge.is-version{background:#eef7ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}

/* V61.0.81 — card especial de exportação das verbas do resumo da folha */
.nucleo-export-page .feature-folha-verbas-special{
  grid-column:1 / -1;
  min-height:0;
  padding:22px;
  border:1px solid #7dd3fc;
  background:
    radial-gradient(circle at 0 0, rgba(14,165,233,.20), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(37,99,235,.13), transparent 34%),
    linear-gradient(135deg,#f0f9ff 0%,#ffffff 48%,#eef6ff 100%);
  box-shadow:0 24px 58px rgba(2,132,199,.13);
}
.nucleo-export-page .feature-folha-verbas-special::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.78);
  pointer-events:none;
  z-index:0;
}
.nucleo-export-page .feature-folha-verbas-special::after{
  right:18px;
  bottom:18px;
  font-size:4.2rem;
  color:rgba(2,132,199,.055);
  transform:rotate(-6deg);
}
.nucleo-special-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
}
.nucleo-export-page .feature-folha-verbas-special .nucleo-feature-icon{
  background:linear-gradient(135deg,#0369a1,#2563eb);
  color:#fff;
  border-color:transparent;
  box-shadow:0 16px 34px rgba(2,132,199,.24);
}
.nucleo-special-title h2{
  margin:.42rem 0 .35rem;
  font-size:1.28rem!important;
}
.nucleo-special-title p{
  max-width:920px;
  margin:0!important;
}
.nucleo-special-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.48rem .72rem;
  border-radius:999px;
  background:linear-gradient(135deg,#0284c7,#2563eb);
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  box-shadow:0 12px 28px rgba(37,99,235,.20);
}
.nucleo-special-badge .material-symbols-rounded{font-size:1rem;}
.nucleo-special-body{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);
  gap:18px;
  align-items:stretch;
}
.nucleo-special-toggle-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.62rem;
  height:100%;
  padding:.8rem;
  background:rgba(255,255,255,.72);
  border-color:#bae6fd;
}
.nucleo-special-toggle-grid .nucleo-mini-toggle{
  min-height:54px;
  padding:.55rem .62rem;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.035);
}
.nucleo-special-toggle-grid .nucleo-mini-toggle:last-child:nth-child(odd){
  grid-column:1 / -1;
}
.nucleo-special-controls{
  display:flex;
  flex-direction:column;
  padding:14px;
  border:1px solid #bae6fd;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.nucleo-special-note{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  margin:.25rem 0 .85rem;
  padding:.7rem .75rem;
  border:1px solid #bae6fd;
  border-radius:14px;
  background:#f0f9ff;
  color:#334155;
  font-size:.82rem;
  line-height:1.45;
}
.nucleo-special-note .material-symbols-rounded{
  color:#0369a1;
  font-size:1.15rem;
  margin-top:.08rem;
}
.nucleo-special-columns{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding-top:.1rem;
}
.nucleo-special-columns span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.35rem .65rem;
  border:1px solid #bae6fd;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#075985;
  font-size:.76rem;
  font-weight:850;
}
@media (max-width: 991.98px){
  .nucleo-special-body{grid-template-columns:1fr;}
}
@media (max-width: 767.98px){
  .nucleo-export-page .feature-folha-verbas-special{padding:17px;}
  .nucleo-special-head{grid-template-columns:auto minmax(0,1fr);}
  .nucleo-special-badge{grid-column:1 / -1;width:max-content;}
  .nucleo-special-toggle-grid{grid-template-columns:1fr;}
  .nucleo-special-toggle-grid .nucleo-mini-toggle:last-child:nth-child(odd){grid-column:auto;}
  .nucleo-special-columns{display:grid;grid-template-columns:1fr;}
  .nucleo-special-columns span{border-radius:12px;}
}

/* V61.0.81 revisão 2 — expander exclusivo e seletores da exportação de verbas */
.nucleo-export-page .nucleo-special-export-section{
  border:1px solid #7dd3fc;
  background:linear-gradient(135deg,#effaff 0%,#ffffff 52%,#eef6ff 100%);
  box-shadow:0 22px 54px rgba(2,132,199,.12);
}
.nucleo-export-page .nucleo-special-export-section > .nucleo-exporters-summary{
  background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(37,99,235,.05));
  border-radius:inherit;
}
.nucleo-export-page .nucleo-special-export-section[open] > .nucleo-exporters-summary{
  border-radius:22px 22px 0 0;
}
.nucleo-export-page .nucleo-special-export-section .nucleo-exporters-body{
  padding-top:18px;
}
.nucleo-export-page .feature-folha-verbas-special{
  overflow:visible;
}
.nucleo-export-page .feature-folha-verbas-special .verbas-multi-button,
.nucleo-export-page .feature-folha-verbas-special .verbas-multi-actions button{
  margin-top:0;
}
.nucleo-special-selectors{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-content:start;
  padding:14px;
  border:1px solid #bae6fd;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.nucleo-special-selectors > div{
  min-width:0;
}
.nucleo-export-page .feature-folha-verbas-special .verbas-multi-panel{
  max-height:360px;
}
.nucleo-export-page .nucleo-employees-panel{
  max-height:390px!important;
}
.nucleo-employee-check{
  align-items:flex-start;
}
.nucleo-employee-option{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.nucleo-employee-option strong{
  overflow:hidden;
  color:#0f172a;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nucleo-employee-option em{
  color:#64748b;
  font-size:.75rem;
  font-style:normal;
  font-weight:800;
  letter-spacing:.03em;
}
.nucleo-empty-selector{
  padding:14px 10px;
  color:#64748b;
  text-align:center;
  font-size:.84rem;
  font-weight:750;
}
@media (max-width:991.98px){
  .nucleo-special-selectors{grid-template-columns:1fr;}
}

/* V61.0.81 REV3 — Mapa de frequência em formato wide (página isolada) */
.freq-wide-page{
  height:calc(100vh - var(--app-header-h));
  min-height:560px;
  display:flex;
  flex-direction:column;
  gap:.72rem;
  padding:.72rem;
  overflow:hidden;
  background:linear-gradient(180deg,#f8fbff 0%,#eef5fb 100%);
}
.freq-wide-toolbar,
.freq-wide-summary,
.freq-wide-table-shell{
  border:1px solid #d7e5f4;
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.freq-wide-toolbar{
  flex:0 0 auto;
  padding:.72rem;
  border-radius:1rem;
}
.freq-wide-filter-grid{
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) minmax(145px,.75fr) minmax(170px,.9fr) minmax(165px,.9fr) minmax(220px,1.25fr) auto auto;
  gap:.62rem;
  align-items:end;
}
.freq-wide-filter-grid label:not(.freq-wide-hide-toggle){
  min-width:0;
}
.freq-wide-filter-grid label > span:first-child{
  display:block;
  margin:0 0 .3rem .1rem;
  color:#475569;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.015em;
}
.freq-wide-filter-grid .form-select{
  min-height:42px;
  border-color:#cbdceb;
  border-radius:.78rem;
  color:#0f2747;
  font-weight:750;
  background-color:#fff;
}
.freq-wide-filter-grid .btn{
  min-height:42px;
  white-space:nowrap;
}
.freq-wide-hide-toggle{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem .72rem;
  border:1px solid #cbdceb;
  border-radius:.78rem;
  background:#f8fbff;
  color:#334155;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
  white-space:nowrap;
}
.freq-wide-hide-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.freq-wide-toggle-track{
  position:relative;
  width:38px;
  height:22px;
  flex:0 0 38px;
  border-radius:999px;
  background:#cbd5e1;
  box-shadow:inset 0 1px 3px rgba(15,23,42,.14);
  transition:.18s ease;
}
.freq-wide-toggle-track::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 7px rgba(15,23,42,.25);
  transition:.18s ease;
}
.freq-wide-hide-toggle input:checked + .freq-wide-toggle-track{
  background:#2563eb;
}
.freq-wide-hide-toggle input:checked + .freq-wide-toggle-track::after{
  transform:translateX(16px);
}
.freq-wide-summary{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.78rem 1rem;
  border-radius:1rem;
}
.freq-wide-summary-main{
  display:flex;
  align-items:center;
  gap:clamp(1.5rem,5vw,5rem);
  min-width:0;
}
.freq-wide-summary-main > div{
  min-width:0;
}
.freq-wide-summary-main small{
  display:block;
  color:#94a3b8;
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.freq-wide-summary-main strong{
  display:block;
  margin-top:.1rem;
  color:#31466a;
  font-size:clamp(.94rem,1.45vw,1.22rem);
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.freq-wide-summary-stats{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.45rem;
}
.freq-wide-summary-stats span{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  padding:.38rem .62rem;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#f8fbff;
  color:#52637e;
  font-size:.73rem;
  font-weight:750;
}
.freq-wide-summary-stats i{color:#2563eb}
.freq-wide-summary-stats strong{color:#0f2747}
.freq-wide-table-shell{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  border-radius:1rem;
}
.freq-wide-scroll{
  width:100%;
  height:100%;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-color:#94a3b8 #eef2f7;
  scrollbar-width:thin;
}
.freq-wide-table{
  width:max-content;
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  color:#10233f;
  font-size:.76rem;
}
.freq-wide-table th,
.freq-wide-table td{
  border-right:1px solid #dfe6ef;
  border-bottom:1px solid #dfe6ef;
  background:#fff;
}
.freq-wide-table thead th{
  position:sticky;
  top:0;
  z-index:15;
  height:58px;
  padding:.35rem .4rem;
  background:linear-gradient(180deg,#f8fafc,#edf2f7);
  color:#53627b;
  text-align:center;
  vertical-align:middle;
  box-shadow:inset 0 -1px 0 #cbd5e1;
}
.freq-wide-table .freq-wide-sticky{
  position:sticky;
  z-index:10;
}
.freq-wide-table thead .freq-wide-sticky{
  z-index:25;
}
.freq-wide-matricula{
  left:0;
  width:112px;
  min-width:112px;
  max-width:112px;
  text-align:left !important;
}
.freq-wide-nome{
  left:112px;
  width:248px;
  min-width:248px;
  max-width:248px;
  text-align:left !important;
  box-shadow:7px 0 14px rgba(15,23,42,.06);
}
.freq-wide-date-head{
  width:84px;
  min-width:84px;
  max-width:84px;
}
.freq-wide-date-head span,
.freq-wide-date-head strong{
  display:block;
}
.freq-wide-date-head span{
  margin-bottom:.1rem;
  color:#5f6f89;
  font-size:.68rem;
  font-weight:900;
  text-transform:capitalize;
}
.freq-wide-date-head strong{
  color:#344866;
  font-size:.66rem;
  font-weight:800;
  white-space:nowrap;
}
.freq-wide-date-head.is-weekend{
  background:linear-gradient(180deg,#f3ecfb,#ebe4f5);
}
.freq-wide-total-head,
.freq-wide-total{
  width:100px;
  min-width:100px;
  max-width:100px;
  text-align:center;
}
.freq-wide-total-head span,
.freq-wide-total-head small{
  display:block;
}
.freq-wide-total-head span{
  color:#0f2747;
  font-size:.78rem;
  font-weight:950;
}
.freq-wide-total-head small{
  margin-top:.05rem;
  color:#64748b;
  font-size:.62rem;
  font-weight:800;
}
.freq-wide-department-row td{
  position:sticky;
  left:0;
  z-index:9;
  height:38px;
  padding:.42rem .7rem;
  background:linear-gradient(90deg,#e9f3ff,#f4f9ff 55%,#fff);
  color:#244c7c;
  font-size:.75rem;
  box-shadow:inset 0 -1px 0 #cbdceb;
}
.freq-wide-department-row i{margin-right:.45rem;color:#2563eb}
.freq-wide-department-row strong{font-weight:950}
.freq-wide-department-row span{
  display:inline-flex;
  margin-left:.55rem;
  padding:.16rem .42rem;
  border-radius:999px;
  background:#fff;
  color:#64748b;
  font-size:.64rem;
  font-weight:850;
}
.freq-wide-employee-row td{
  height:55px;
  padding:.38rem .42rem;
  vertical-align:middle;
}
.freq-wide-employee-row:nth-child(odd) .freq-wide-sticky{
  background:#fbfdff;
}
.freq-wide-employee-row:hover .freq-wide-sticky{
  background:#eef6ff;
}
.freq-wide-matricula strong{
  color:#1d3c66;
  font-size:.73rem;
  font-weight:900;
}
.freq-wide-nome strong{
  display:block;
  color:#17365d;
  font-size:.76rem;
  line-height:1.16;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.freq-wide-nome small{
  display:block;
  margin-top:.16rem;
  color:#8190a7;
  font-size:.61rem;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.freq-wide-day{
  width:84px;
  min-width:84px;
  max-width:84px;
  padding:.25rem !important;
  text-align:center;
  cursor:help;
  outline:none;
  transition:filter .14s ease,box-shadow .14s ease,transform .14s ease;
}
.freq-wide-day span{
  display:block;
  font-size:.61rem;
  font-weight:850;
  line-height:1.15;
  white-space:nowrap;
}
.freq-wide-day small{
  display:block;
  margin-top:.08rem;
  font-size:.55rem;
  font-weight:900;
}
.freq-wide-day.is-worked{
  background:linear-gradient(180deg,#dff5ff,#cbeeff);
  color:#064b73;
  box-shadow:inset 0 0 0 1px #3ba5dd;
}
.freq-wide-day.is-worked:hover,
.freq-wide-day.is-worked:focus{
  position:relative;
  z-index:8;
  filter:saturate(1.12);
  box-shadow:inset 0 0 0 2px #0284c7,0 7px 17px rgba(2,132,199,.2);
  transform:translateY(-1px);
}
.freq-wide-day.is-non-worked{
  background:linear-gradient(180deg,#fff0f0,#ffe4e6);
  color:#b4232c;
  box-shadow:inset 0 0 0 1px #fecaca;
}
.freq-wide-day.is-non-worked.is-weekend{
  background:linear-gradient(180deg,#f8e8f2,#f5dde9);
}
.freq-wide-day.is-muted-non-worked{
  background:#f8fafc;
  color:#cbd5e1;
  box-shadow:none;
}
.freq-wide-dash{font-size:.76rem !important}
.freq-wide-total{
  background:#fbfdff !important;
  color:#1e3a5f;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.freq-wide-total-135{background:#f5f3ff !important}
.freq-wide-total-136{background:#eff6ff !important}
.freq-wide-total-137{background:#fff7ed !important}
.freq-wide-total-145{background:#ecfdf5 !important}
.freq-wide-total-147{background:#fffbeb !important}
.freq-wide-total strong{font-size:.69rem;font-weight:950}
.freq-wide-empty{
  height:240px;
  text-align:center;
  color:#64748b;
}
.freq-wide-empty i,
.freq-wide-empty strong,
.freq-wide-empty span{display:block}
.freq-wide-empty i{margin-bottom:.4rem;font-size:2rem;color:#94a3b8}
.freq-wide-empty strong{color:#334155;font-size:1rem}
.freq-wide-empty span{margin-top:.2rem;font-size:.78rem}
.freq-wide-tooltip{
  position:fixed;
  z-index:3000;
  width:min(450px,calc(100vw - 24px));
  max-height:min(560px,calc(100vh - 24px));
  overflow:auto;
  display:none;
  padding:.85rem;
  border:1px solid rgba(148,163,184,.5);
  border-radius:1rem;
  background:rgba(255,255,255,.985);
  box-shadow:0 24px 70px rgba(15,23,42,.27);
  backdrop-filter:blur(12px);
  pointer-events:auto;
}
.freq-wide-tooltip.show{
  display:block;
  animation:freqWideTooltipIn .15s ease both;
}
@keyframes freqWideTooltipIn{
  from{opacity:0;transform:translateY(5px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.freq-wide-tooltip-head{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.55rem;
  padding-bottom:.65rem;
  border-bottom:1px solid #e2e8f0;
}
.freq-wide-tooltip-head span{
  padding:.28rem .48rem;
  border-radius:.55rem;
  background:#eaf3ff;
  color:#1d4ed8;
  font-size:.68rem;
  font-weight:950;
}
.freq-wide-tooltip-head strong{
  color:#0f2747;
  font-size:.88rem;
  line-height:1.2;
}
.freq-wide-tooltip-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.52rem;
  padding:.65rem 0;
}
.freq-wide-tooltip-meta > div{
  min-width:0;
  padding:.48rem .55rem;
  border:1px solid #e2e8f0;
  border-radius:.72rem;
  background:#f8fafc;
}
.freq-wide-tooltip-meta > div:first-child,
.freq-wide-tooltip-meta > div:last-child{
  grid-column:1 / -1;
}
.freq-wide-tooltip-meta small,
.freq-wide-tooltip-meta strong{display:block}
.freq-wide-tooltip-meta small{
  color:#94a3b8;
  font-size:.61rem;
  font-weight:850;
  text-transform:uppercase;
}
.freq-wide-tooltip-meta strong{
  margin-top:.12rem;
  color:#334155;
  font-size:.73rem;
  line-height:1.25;
}
.freq-wide-tooltip-table-wrap{
  overflow:hidden;
  border:1px solid #dce5ef;
  border-radius:.75rem;
}
.freq-wide-tooltip-table{
  width:100%;
  border-collapse:collapse;
  font-size:.68rem;
}
.freq-wide-tooltip-table th{
  padding:.42rem .5rem;
  background:#eef5ff;
  color:#53627b;
  text-align:right;
  font-weight:900;
}
.freq-wide-tooltip-table th:first-child{text-align:left}
.freq-wide-tooltip-table td{
  padding:.43rem .5rem;
  border-top:1px solid #e8edf3;
  color:#334155;
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.freq-wide-tooltip-table td:first-child{
  text-align:left;
  white-space:normal;
}
.freq-wide-tooltip-table td:first-child strong{
  display:inline-block;
  min-width:28px;
  color:#1d4ed8;
}
.freq-wide-tooltip-table td:first-child span{
  color:#64748b;
  font-size:.62rem;
}
@media (max-width:1399.98px){
  .freq-wide-filter-grid{
    grid-template-columns:repeat(4,minmax(150px,1fr));
  }
  .freq-wide-hide-toggle,
  .freq-wide-filter-grid .btn{
    justify-content:center;
  }
}
@media (max-width:991.98px){
  .freq-wide-page{
    height:calc(100vh - var(--app-header-h) - var(--app-bottom-h));
    padding:.5rem;
  }
  .freq-wide-filter-grid{grid-template-columns:1fr 1fr}
  .freq-wide-summary{align-items:flex-start;flex-direction:column}
  .freq-wide-summary-stats{justify-content:flex-start}
  .freq-wide-matricula{width:96px;min-width:96px;max-width:96px}
  .freq-wide-nome{left:96px;width:210px;min-width:210px;max-width:210px}
}
@media (max-width:575.98px){
  .freq-wide-filter-grid{grid-template-columns:1fr}
  .freq-wide-summary-main{width:100%;display:grid;grid-template-columns:1fr;gap:.5rem}
  .freq-wide-summary-main strong{white-space:normal}
  .freq-wide-tooltip-meta{grid-template-columns:1fr}
  .freq-wide-tooltip-meta > div{grid-column:1 / -1}
}

/* V61.0.81 REV5 — refinamentos exclusivos do Mapa */
.freq-wide-toolbar{
  position:relative;
  overflow:visible;
  z-index:30;
}
.freq-wide-filter-grid{
  grid-template-columns:minmax(180px,1.05fr) minmax(145px,.72fr) minmax(170px,.88fr) minmax(165px,.88fr) minmax(270px,1.35fr);
}
.freq-wide-filter-grid > label,
.freq-wide-filter-field{
  min-width:0;
}
.freq-wide-filter-field > span:first-child{
  display:block;
  margin:0 0 .3rem .1rem;
  color:#475569;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.015em;
}
.freq-wide-employee-multi{
  position:relative;
  z-index:60;
}
.freq-wide-employee-multi.open{
  z-index:3000;
}
.freq-wide-employee-button{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.58rem .78rem;
  border:1px solid #cbdceb;
  border-radius:.78rem;
  background:#fff;
  color:#0f2747;
  font-size:.82rem;
  font-weight:800;
  text-align:left;
}
.freq-wide-employee-button > span{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.freq-wide-employee-button:focus{
  outline:0;
  border-color:#2563eb;
  box-shadow:0 0 0 .2rem rgba(37,99,235,.13);
}
.freq-wide-employee-panel{
  display:none;
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  right:0;
  z-index:3100;
  min-width:330px;
  max-height:min(430px,65vh);
  padding:.72rem;
  border:1px solid #93c5fd;
  border-radius:1rem;
  background:#fff;
  box-shadow:0 24px 65px rgba(15,23,42,.24);
}
.freq-wide-employee-panel.show{
  display:block;
}
.freq-wide-employee-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin-bottom:.55rem;
}
.freq-wide-employee-list{
  max-height:280px;
  overflow:auto;
  padding-right:.18rem;
  overscroll-behavior:contain;
}
.freq-wide-employee-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.58rem;
  padding:.5rem .48rem;
  border-radius:.72rem;
  cursor:pointer;
}
.freq-wide-employee-option:hover{
  background:#eef6ff;
}
.freq-wide-employee-option input{
  width:17px;
  height:17px;
  accent-color:#2563eb;
}
.freq-wide-employee-option span,
.freq-wide-employee-option strong,
.freq-wide-employee-option small{
  display:block;
  min-width:0;
}
.freq-wide-employee-option strong{
  overflow:hidden;
  color:#17365d;
  font-size:.78rem;
  line-height:1.18;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.freq-wide-employee-option small{
  margin-top:.12rem;
  overflow:hidden;
  color:#75859c;
  font-size:.65rem;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.freq-wide-employee-empty{
  padding:1.1rem .6rem;
  color:#64748b;
  font-size:.78rem;
  text-align:center;
}
.freq-wide-toolbar-actions{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.75rem;
  margin-top:.65rem;
  padding-top:.65rem;
  border-top:1px solid #e5edf6;
}
.freq-wide-view-actions,
.freq-wide-export-controls{
  display:flex;
  align-items:flex-end;
  gap:.55rem;
}
.freq-wide-reset-icon{
  width:42px;
  min-width:42px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:.78rem;
}
.freq-wide-reset-icon i{
  margin:0;
  font-size:1rem;
}
.freq-wide-export-controls > label{
  min-width:122px;
}
.freq-wide-export-controls > label > span{
  display:block;
  margin:0 0 .26rem .1rem;
  color:#64748b;
  font-size:.66rem;
  font-weight:900;
}
.freq-wide-export-controls .form-select{
  min-height:42px;
  border-color:#cbdceb;
  border-radius:.78rem;
  color:#0f2747;
  font-size:.8rem;
  font-weight:800;
}
.freq-wide-export-controls .btn{
  min-height:42px;
  border-radius:.78rem;
  white-space:nowrap;
}
.freq-wide-summary{
  align-items:center;
}
.freq-wide-summary-main{
  gap:1rem;
}
.freq-wide-period-pill{
  display:inline-flex;
  align-items:center;
  padding:.34rem .62rem;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#f8fbff;
  color:#60708a;
  font-size:.71rem;
  font-weight:800;
  white-space:nowrap;
}
.freq-wide-summary-stats{
  align-items:center;
}
.freq-wide-summary-verba{
  border-color:#dbe3ef !important;
  gap:.3rem !important;
}
.freq-wide-summary-verba b{
  color:#17365d;
  font-size:.7rem;
  font-weight:950;
  white-space:nowrap;
}
.freq-wide-summary-verba-135{background:#f5f3ff !important}
.freq-wide-summary-verba-136{background:#eff6ff !important}
.freq-wide-summary-verba-137{background:#fff7ed !important}
.freq-wide-summary-verba-145{background:#ecfdf5 !important}
.freq-wide-summary-verba-147{background:#fffbeb !important}
.freq-wide-tooltip-table td.has-value,
.freq-wide-help-table td.has-value{
  color:#0f4c81;
  font-weight:950;
  background:#eff6ff;
  box-shadow:inset 0 0 0 1px #bfdbfe;
}
.freq-wide-help-breakdown{
  margin-top:.68rem;
  padding-top:.68rem;
  border-top:1px solid #e2e8f0;
}
.freq-wide-help-title{
  display:flex;
  align-items:center;
  gap:.42rem;
  margin-bottom:.5rem;
  color:#244c7c;
  font-size:.75rem;
}
.freq-wide-help-title i{
  color:#2563eb;
}
.freq-wide-help-table-wrap{
  overflow:auto;
  border:1px solid #dce5ef;
  border-radius:.75rem;
}
.freq-wide-help-table{
  width:100%;
  min-width:570px;
  border-collapse:collapse;
  font-size:.66rem;
}
.freq-wide-help-table th,
.freq-wide-help-table td{
  padding:.42rem .46rem;
  border-top:1px solid #e8edf3;
  text-align:right;
  white-space:nowrap;
}
.freq-wide-help-table th{
  border-top:0;
  background:#eef5ff;
  color:#53627b;
  font-weight:900;
}
.freq-wide-help-table th:first-child,
.freq-wide-help-table td:first-child{
  text-align:left;
}
.freq-wide-help-table tfoot td{
  background:#f8fafc;
  color:#17365d;
  font-weight:950;
}

@media (max-width:1599.98px){
  .freq-wide-filter-grid{
    grid-template-columns:repeat(5,minmax(150px,1fr));
  }
  .freq-wide-toolbar-actions{
    align-items:stretch;
  }
  .freq-wide-export-controls{
    flex:1 1 auto;
    justify-content:flex-end;
  }
}
@media (max-width:1199.98px){
  .freq-wide-filter-grid{
    grid-template-columns:repeat(3,minmax(170px,1fr));
  }
  .freq-wide-toolbar-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .freq-wide-view-actions,
  .freq-wide-export-controls{
    width:100%;
  }
  .freq-wide-export-controls{
    justify-content:flex-start;
  }
  .freq-wide-export-controls > label{
    flex:1 1 160px;
  }
  .freq-wide-summary{
    align-items:flex-start;
    flex-direction:column;
  }
  .freq-wide-summary-stats{
    justify-content:flex-start;
  }
}
@media (max-width:767.98px){
  .freq-wide-filter-grid{
    grid-template-columns:1fr 1fr;
  }
  .freq-wide-employee-panel{
    min-width:min(360px,calc(100vw - 2rem));
  }
  .freq-wide-view-actions{
    align-items:stretch;
  }
  .freq-wide-hide-toggle{
    flex:1 1 auto;
    white-space:normal;
  }
  .freq-wide-export-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .freq-wide-export-controls .btn{
    grid-column:1 / -1;
  }
  .freq-wide-summary-main{
    width:100%;
    align-items:flex-start;
    flex-direction:column;
    gap:.45rem;
  }
}
@media (max-width:575.98px){
  .freq-wide-filter-grid{
    grid-template-columns:1fr;
  }
  .freq-wide-export-controls{
    grid-template-columns:1fr;
  }
  .freq-wide-export-controls .btn{
    grid-column:auto;
  }
  .freq-wide-employee-panel{
    position:fixed;
    top:50%;
    left:12px;
    right:12px;
    width:auto;
    min-width:0;
    max-height:75vh;
    transform:translateY(-50%);
  }
}

/* V61.0.81 REV6 — refinamentos do Mapa solicitados */
.freq-wide-expander{
  position:relative;
  flex:0 0 auto;
  overflow:visible;
  border:1px solid #d7e5f4;
  border-radius:1rem;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 26px rgba(15,23,42,.055);
}
.freq-wide-expander[open]{z-index:45}
.freq-wide-expander > summary{
  min-height:48px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:.75rem;
  padding:.68rem .9rem;
  color:#17365d;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.freq-wide-expander > summary::-webkit-details-marker{display:none}
.freq-wide-expander > summary > span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:.52rem;
}
.freq-wide-expander > summary > span i{color:#2563eb;font-size:.95rem}
.freq-wide-expander > summary strong{
  overflow:hidden;
  font-size:.83rem;
  font-weight:950;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.freq-wide-expander > summary small{
  overflow:hidden;
  max-width:42vw;
  color:#718198;
  font-size:.7rem;
  font-weight:750;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.freq-wide-expander-chevron{color:#64748b;transition:transform .18s ease}
.freq-wide-expander[open] .freq-wide-expander-chevron{transform:rotate(180deg)}
.freq-wide-expander .freq-wide-toolbar,
.freq-wide-expander .freq-wide-summary{
  border:0;
  border-top:1px solid #e5edf6;
  border-radius:0 0 1rem 1rem;
  box-shadow:none;
}
.freq-wide-expander .freq-wide-toolbar{z-index:50}

.freq-wide-employee-search{
  position:relative;
  display:block;
  margin-bottom:.55rem;
}
.freq-wide-employee-search i{
  position:absolute;
  top:50%;
  left:.72rem;
  z-index:2;
  color:#64748b;
  transform:translateY(-50%);
  pointer-events:none;
}
.freq-wide-employee-search input{
  width:100%;
  min-height:40px;
  padding:.56rem .72rem .56rem 2.15rem;
  border:1px solid #cbdceb;
  border-radius:.72rem;
  outline:0;
  color:#17365d;
  background:#f8fbff;
  font-size:.76rem;
  font-weight:750;
}
.freq-wide-employee-search input:focus{
  border-color:#2563eb;
  background:#fff;
  box-shadow:0 0 0 .18rem rgba(37,99,235,.12);
}
.freq-wide-employee-option[hidden],
.freq-wide-employee-empty[hidden]{display:none !important}

.freq-wide-export-icon{
  width:42px;
  min-width:42px;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.freq-wide-export-icon i{margin:0;font-size:1rem}

.freq-wide-summary-verba em{
  color:#94a3b8;
  font-style:normal;
  font-weight:800;
}

.freq-wide-table-shell{
  display:flex;
  flex-direction:column;
}
.freq-wide-department-controls{
  flex:0 0 auto;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.48rem .72rem;
  border-bottom:1px solid #d7e5f4;
  background:linear-gradient(180deg,#fff,#f8fbff);
}
.freq-wide-department-controls > div{
  display:flex;
  align-items:center;
  gap:.45rem;
  min-width:0;
}
.freq-wide-department-controls > div:first-child i{color:#2563eb}
.freq-wide-department-controls strong{color:#17365d;font-size:.76rem;font-weight:950}
.freq-wide-department-controls span{color:#718198;font-size:.66rem;font-weight:750;white-space:nowrap}
.freq-wide-department-controls .btn{
  min-height:31px;
  display:inline-flex;
  align-items:center;
  gap:.28rem;
  border-radius:.62rem;
  font-size:.68rem;
  font-weight:850;
  white-space:nowrap;
}
.freq-wide-scroll{flex:1 1 auto;min-height:0}
.freq-wide-department-row td{padding:0 !important}
.freq-wide-department-toggle{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:.46rem;
  padding:.42rem .7rem;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.freq-wide-department-toggle:hover{background:rgba(219,234,254,.55)}
.freq-wide-department-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.freq-wide-department-toggle i{width:15px;margin:0 !important;text-align:center}
.freq-wide-department-toggle span{margin-left:.25rem !important}
.freq-wide-employee-row.is-department-collapsed{display:none}

.freq-wide-tooltip-meta > div:first-child,
.freq-wide-tooltip-meta > div:last-child{grid-column:auto}
.freq-wide-tooltip-meta > div.is-full{grid-column:1 / -1 !important}
.freq-wide-tooltip-meta strong.has-value{
  display:inline-flex;
  width:max-content;
  padding:.12rem .38rem;
  border-radius:.42rem;
  color:#0f4c81;
  background:#eaf3ff;
  box-shadow:inset 0 0 0 1px #bfdbfe;
  font-weight:950;
}
.freq-wide-tooltip-table-wrap + .freq-wide-help-breakdown{margin-top:.68rem}
.freq-wide-tooltip-table-wrap:empty{display:none}

@media (max-width:767.98px){
  .freq-wide-expander > summary{grid-template-columns:minmax(0,1fr) auto}
  .freq-wide-expander > summary small{display:none}
  .freq-wide-department-controls{align-items:flex-start;flex-direction:column}
  .freq-wide-department-controls > div:last-child{width:100%}
  .freq-wide-department-controls .btn{flex:1 1 0;justify-content:center}
}

/* V61.0.81 REV7 — Frequência: sobreposição, busca global e refinamentos */
.freq-wide-expander.has-open-overlay{
  z-index:5200 !important;
}
.freq-wide-expander.has-open-overlay .freq-wide-toolbar{
  position:relative;
  z-index:5201;
}
.freq-wide-expander.has-open-overlay .freq-wide-employee-multi,
.freq-wide-expander.has-open-overlay .freq-wide-employee-panel{
  z-index:5300 !important;
}
.freq-wide-page.has-open-employee-select .freq-wide-table-shell,
.freq-wide-page.has-open-employee-select #freqTeamExpander{
  z-index:1 !important;
}
.freq-wide-floating-search{
  z-index:5400;
}
.freq-wide-search-panel{
  z-index:5410;
  overflow:visible;
  border:1px solid #bfdbfe;
  border-radius:1rem;
  box-shadow:0 22px 58px rgba(15,23,42,.22);
}
.freq-wide-search-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.65rem;
}
.freq-wide-search-head label{
  color:#17365d;
  font-size:.82rem;
  font-weight:950;
}
.freq-wide-search-head .btn{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:.62rem;
}
.freq-wide-search-input{
  position:relative;
}
.freq-wide-search-input > i{
  position:absolute;
  top:50%;
  left:.78rem;
  z-index:2;
  color:#64748b;
  transform:translateY(-50%);
  pointer-events:none;
}
.freq-wide-search-input .form-control{
  min-height:44px;
  padding-left:2.35rem;
  border-color:#bfdbfe;
  border-radius:.78rem;
  color:#17365d;
  font-size:.8rem;
  font-weight:750;
}
.freq-wide-search-input .form-control:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 .2rem rgba(37,99,235,.13);
}
.freq-wide-search-panel > small{
  display:block;
  margin-top:.48rem;
  color:#718198;
  font-size:.68rem;
  font-weight:700;
}

/* V61.0.81 REV8 — Frequência: filial pela matrícula e comandos no cabeçalho dos departamentos */
.freq-wide-department-controls{
  overflow:visible;
  flex-wrap:wrap;
}
.freq-wide-department-heading{
  flex:0 1 auto;
}
.freq-wide-department-tools{
  flex:1 1 auto;
  justify-content:flex-end;
  flex-wrap:wrap;
  margin-left:auto;
}
.freq-wide-department-tools > .btn:first-child{
  min-width:104px;
  justify-content:center;
}
.freq-wide-department-tools > .btn:first-child.btn-outline-danger{
  color:#c2414a;
  border-color:#f0a3aa;
  background:#fff8f8;
}
.freq-wide-department-tools > .btn:first-child.btn-outline-danger:hover{
  color:#fff;
  border-color:#dc3545;
  background:#dc3545;
}
.freq-wide-hide-toggle-compact{
  min-height:34px;
  padding:.32rem .55rem;
  border-radius:.62rem;
  font-size:.68rem;
}
.freq-wide-hide-toggle-compact .freq-wide-toggle-track{
  width:34px;
  height:20px;
  flex-basis:34px;
}
.freq-wide-hide-toggle-compact .freq-wide-toggle-track::after{
  width:14px;
  height:14px;
}
.freq-wide-hide-toggle-compact input:checked + .freq-wide-toggle-track::after{
  transform:translateX(14px);
}
.freq-wide-department-controls .freq-wide-hide-toggle-compact > span:last-child{
  color:#334155;
  font-size:.68rem;
  font-weight:850;
}
.freq-wide-department-controls .freq-wide-reset-icon{
  width:34px;
  min-width:34px;
  min-height:34px;
  border-radius:.62rem;
}
.freq-wide-export-controls-compact{
  align-items:flex-end;
  gap:.4rem;
}
.freq-wide-export-controls-compact > label{
  min-width:102px;
}
.freq-wide-export-controls-compact > label > span{
  margin-bottom:.16rem;
  color:#64748b;
  font-size:.58rem;
  line-height:1;
}
.freq-wide-export-controls-compact .form-select{
  min-height:34px;
  padding-top:.28rem;
  padding-bottom:.28rem;
  border-radius:.62rem;
  font-size:.7rem;
}
.freq-wide-export-controls-compact .freq-wide-export-icon{
  width:34px;
  min-width:34px;
  min-height:34px;
  border-radius:.62rem;
}

@media (max-width:991.98px){
  .freq-wide-department-heading{
    width:100%;
  }
  .freq-wide-department-tools{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
}
@media (max-width:767.98px){
  .freq-wide-department-controls .freq-wide-department-tools{
    display:flex;
    flex-direction:row;
    align-items:flex-end;
    flex-wrap:wrap;
  }
  .freq-wide-department-controls .freq-wide-department-tools .btn{
    flex:0 0 auto;
  }
  .freq-wide-export-controls-compact{
    display:flex;
    flex:1 1 100%;
  }
  .freq-wide-export-controls-compact > label{
    flex:1 1 120px;
  }
  .freq-wide-export-controls-compact .btn{
    flex:0 0 34px !important;
  }
}
.freq-wide-department-tools > .btn:first-child span{
  color:inherit;
  font-size:.68rem;
  font-weight:850;
}

/* V61.0.81 REV9 — Frequência sob demanda, guia inicial e hover de batidas */
.freq-wide-page.is-guide-mode{
  overflow:auto;
}
.freq-wide-guide{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:clamp(1rem,2vw,1.65rem);
  border:1px solid #cfe0f2;
  border-radius:1.25rem;
  background:
    radial-gradient(circle at 92% 8%,rgba(56,189,248,.13),transparent 28%),
    radial-gradient(circle at 8% 92%,rgba(37,99,235,.09),transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f7fbff 54%,#eef7ff 100%);
  box-shadow:0 18px 46px rgba(15,23,42,.08);
}
.freq-wide-guide-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:1rem;
  max-width:1050px;
  margin:0 auto;
}
.freq-wide-guide-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg,#0877d1,#12b8d4);
  box-shadow:0 16px 34px rgba(8,119,209,.24);
  font-size:1.5rem;
}
.freq-wide-guide-kicker{
  display:inline-flex;
  align-items:center;
  gap:.36rem;
  margin-bottom:.48rem;
  padding:.3rem .62rem;
  border:1px solid #bfdbfe;
  border-radius:999px;
  color:#075ca8;
  background:#eff8ff;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.freq-wide-guide h2{
  margin:0;
  color:#102f55;
  font-size:clamp(1.28rem,2.15vw,1.9rem);
  font-weight:950;
  letter-spacing:-.035em;
}
.freq-wide-guide-hero p{
  max-width:880px;
  margin:.5rem 0 0;
  color:#5b6f89;
  font-size:.91rem;
  line-height:1.65;
}
.freq-wide-guide-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.78rem;
  max-width:1180px;
  margin:1.25rem auto 0;
}
.freq-wide-guide-steps article{
  min-width:0;
  display:flex;
  gap:.72rem;
  padding:1rem;
  border:1px solid #d8e7f5;
  border-radius:1rem;
  background:rgba(255,255,255,.86);
  box-shadow:0 9px 24px rgba(15,23,42,.045);
}
.freq-wide-guide-steps article > span{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#0ea5c6);
  font-size:.75rem;
  font-weight:950;
}
.freq-wide-guide-steps strong{
  display:block;
  color:#17365d;
  font-size:.82rem;
  font-weight:950;
}
.freq-wide-guide-steps p{
  margin:.3rem 0 0;
  color:#667890;
  font-size:.73rem;
  line-height:1.5;
}
.freq-wide-guide-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
  max-width:1180px;
  margin:.85rem auto 0;
}
.freq-wide-guide-notes > div{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.72rem .82rem;
  border:1px solid #dbeafe;
  border-radius:.85rem;
  color:#526781;
  background:rgba(239,248,255,.78);
  font-size:.72rem;
  line-height:1.5;
}
.freq-wide-guide-notes i{
  margin-top:.08rem;
  color:#1479bd;
  font-size:.9rem;
}
.freq-wide-guide-actions{
  display:flex;
  justify-content:center;
  gap:.65rem;
  max-width:1180px;
  margin:1rem auto 0;
}
.freq-wide-guide-actions .btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  border-radius:.8rem;
  font-size:.78rem;
  font-weight:900;
}

.freq-wide-tooltip{
  width:min(590px,calc(100vw - 24px));
  max-height:min(690px,calc(100vh - 24px));
  padding:.9rem;
  border-radius:1.1rem;
}
.freq-wide-tooltip.is-pinned{
  border-color:#60a5fa;
  box-shadow:0 28px 80px rgba(15,23,42,.32),inset 0 0 0 1px #bfdbfe;
}
.freq-wide-tooltip-head-v2{
  display:block;
  padding-bottom:.62rem;
}
.freq-wide-tooltip-identity{
  display:flex;
  align-items:center;
  gap:.52rem;
  min-width:0;
}
.freq-wide-tooltip-identity span{
  flex:0 0 auto;
}
.freq-wide-tooltip-identity strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.freq-wide-tooltip-head-v2 > small{
  display:block;
  margin:.28rem 0 0 .08rem;
  overflow:hidden;
  color:#7a8ba2;
  font-size:.66rem;
  font-weight:750;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.freq-wide-tooltip-context,
.freq-wide-tooltip-date-row,
.freq-wide-tooltip-work-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin-top:.58rem;
}
.freq-wide-tooltip-context > div,
.freq-wide-tooltip-date-row > div,
.freq-wide-tooltip-work-row > div{
  min-width:0;
  padding:.55rem .62rem;
  border:1px solid #dce6f1;
  border-radius:.78rem;
  background:#f8fbff;
}
.freq-wide-tooltip-context small,
.freq-wide-tooltip-date-row small,
.freq-wide-tooltip-work-row small{
  display:block;
  color:#8090a6;
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.freq-wide-tooltip-context strong,
.freq-wide-tooltip-date-row strong,
.freq-wide-tooltip-work-row strong{
  display:block;
  margin-top:.16rem;
  overflow:hidden;
  color:#31445f;
  font-size:.69rem;
  font-weight:900;
  line-height:1.25;
  text-overflow:ellipsis;
}
.freq-wide-tooltip-date-row > div:first-child{
  background:#f4f8fd;
}
.freq-wide-tooltip-work-row > div:first-child{
  background:#eef9ff;
  border-color:#cbe9f8;
}
.freq-wide-tooltip-work-row > div:last-child{
  background:#fff9ec;
  border-color:#f7dfac;
}
.freq-wide-tooltip-work-row strong.has-value,
.freq-wide-tooltip-date-row strong.has-value{
  display:inline-flex;
  width:max-content;
  padding:.13rem .38rem;
  border-radius:.42rem;
  color:#075985;
  background:#dff4ff;
  box-shadow:inset 0 0 0 1px #bae6fd;
}
.freq-wide-punch-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.38rem;
  margin-top:.62rem;
}
.freq-wide-punch-pill{
  position:relative;
  min-width:0;
  padding:.46rem .36rem;
  border:1px solid #d9e4ef;
  border-radius:.72rem;
  text-align:center;
  background:#f8fafc;
}
.freq-wide-punch-pill small,
.freq-wide-punch-pill strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.freq-wide-punch-pill small{
  color:#718198;
  font-size:.52rem;
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.freq-wide-punch-pill strong{
  margin-top:.16rem;
  color:#203b60;
  font-size:.7rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.freq-wide-punch-pill.is-entry{
  border-color:#b9ddf7;
  background:linear-gradient(180deg,#eff9ff,#e0f3ff);
}
.freq-wide-punch-pill.is-entry strong{color:#075985}
.freq-wide-punch-pill.is-exit{
  border-color:#f5d7a8;
  background:linear-gradient(180deg,#fffaf0,#fff1d9);
}
.freq-wide-punch-pill.is-exit strong{color:#9a4d08}
.freq-wide-punch-pill.is-empty{
  border-color:#e2e8f0;
  background:#f8fafc;
  opacity:.72;
}
.freq-wide-punch-pill.is-empty strong{color:#94a3b8}
.freq-wide-punch-pill.is-incomplete{
  border-color:#f59e0b;
  box-shadow:inset 0 0 0 1px rgba(245,158,11,.28);
}
.freq-wide-punch-pill.is-missing{
  border-color:#f87171;
  background:#fff1f2;
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.28);
}
.freq-wide-punch-pill.is-missing small,
.freq-wide-punch-pill.is-missing strong{color:#b4232c}
.freq-wide-punch-pill > i{
  position:absolute;
  top:3px;
  right:4px;
  color:#dc2626;
  font-size:.55rem;
}
.freq-wide-tooltip-table-wrap{
  margin-top:.62rem;
}

@media (max-width:1100px){
  .freq-wide-guide-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:767.98px){
  .freq-wide-guide{padding:1rem}
  .freq-wide-guide-hero{grid-template-columns:1fr}
  .freq-wide-guide-icon{width:52px;height:52px;border-radius:16px}
  .freq-wide-guide-steps,.freq-wide-guide-notes{grid-template-columns:1fr}
  .freq-wide-guide-actions{align-items:stretch;flex-direction:column}
  .freq-wide-guide-actions .btn{justify-content:center;width:100%}
  .freq-wide-punch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:480px){
  .freq-wide-tooltip-context,
  .freq-wide-tooltip-date-row,
  .freq-wide-tooltip-work-row{grid-template-columns:1fr}
  .freq-wide-punch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V61.0.81 REV10 — Frequência Linear, guia ampliado e hover reorganizado */
.nucleo-export-page .feature-frequency-linear-special{
  position:relative;
  overflow:visible;
  min-height:0;
  padding:22px;
  border:1px solid #99f6e4;
  background:
    radial-gradient(circle at 0 0,rgba(20,184,166,.17),transparent 31%),
    radial-gradient(circle at 100% 100%,rgba(14,165,233,.12),transparent 34%),
    linear-gradient(135deg,#f0fdfa 0%,#ffffff 48%,#eefaff 100%);
  box-shadow:0 24px 58px rgba(13,148,136,.11);
}
.nucleo-export-page .feature-frequency-linear-special::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  border:1px solid rgba(255,255,255,.78);
  border-radius:inherit;
  pointer-events:none;
}
.nucleo-export-page .feature-frequency-linear-special::after{
  right:18px;
  bottom:16px;
  color:rgba(13,148,136,.055);
  font-size:4rem;
  transform:rotate(-5deg);
}
.nucleo-export-page .feature-frequency-linear-special .nucleo-feature-icon{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#0f766e,#0891b2);
  box-shadow:0 16px 34px rgba(13,148,136,.22);
}
.nucleo-export-page .feature-frequency-linear-special .nucleo-special-badge{
  background:linear-gradient(135deg,#0f766e,#0891b2);
  box-shadow:0 12px 28px rgba(13,148,136,.18);
}
.nucleo-frequency-linear-body{margin-top:.2rem}
.nucleo-linear-selectors{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-content:start;
  padding:14px;
  border:1px solid #b9eee7;
  border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.nucleo-linear-selectors > label,
.nucleo-linear-employees{min-width:0}
.nucleo-linear-selectors > label > span{
  display:block;
  margin:0 0 .35rem .08rem;
  color:#334155;
  font-size:.78rem;
  font-weight:900;
}
.nucleo-linear-selectors .form-select{
  min-height:44px;
  border-color:#c7e8e4;
  border-radius:14px;
  color:#12344f;
  font-weight:800;
}
.nucleo-linear-employees{grid-column:1 / -1}
.nucleo-frequency-linear-employees-panel{max-height:420px!important}
.nucleo-linear-employee-search{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:-2px -2px .65rem;
  padding:.55rem .65rem;
  border:1px solid #b9e5e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
.nucleo-linear-employee-search .material-symbols-rounded{color:#0f766e;font-size:1.15rem}
.nucleo-linear-employee-search input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  color:#17365d;
  background:transparent;
  font-size:.82rem;
  font-weight:750;
}
.nucleo-export-page .feature-frequency-linear-special.nucleo-dropdown-open{
  z-index:90;
}
@media (max-width:991.98px){
  .nucleo-linear-selectors{grid-template-columns:1fr}
  .nucleo-linear-employees{grid-column:auto}
}
@media (max-width:767.98px){
  .nucleo-export-page .feature-frequency-linear-special{padding:17px}
}

.freq-wide-guide-hero{max-width:1230px}
.freq-wide-guide-steps{
  max-width:1320px;
  gap:1rem;
  margin-top:1.45rem;
}
.freq-wide-guide-steps article{
  min-height:156px;
  gap:.9rem;
  padding:1.28rem;
  border-radius:1.15rem;
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.freq-wide-guide-steps article > span{
  width:38px;
  height:38px;
  flex-basis:38px;
  border-radius:12px;
  font-size:.86rem;
}
.freq-wide-guide-steps strong{font-size:.94rem}
.freq-wide-guide-steps p{
  margin-top:.42rem;
  font-size:.81rem;
  line-height:1.62;
}
.freq-wide-guide-notes{max-width:1320px}
.freq-wide-guide-notes > div{
  min-height:62px;
  padding:.9rem 1rem;
  font-size:.79rem;
}
.freq-wide-guide-actions{max-width:1320px;margin-top:1.15rem}
.freq-wide-guide-actions .btn{min-height:46px;padding:.65rem 1rem;font-size:.82rem}

.freq-wide-tooltip{
  width:min(760px,calc(100vw - 24px));
  max-height:min(760px,calc(100vh - 24px));
  padding:1rem;
}
.freq-wide-tooltip-overview{
  display:grid;
  grid-template-columns:minmax(270px,1.55fr) minmax(145px,.72fr) minmax(145px,.72fr);
  gap:.55rem;
}
.freq-wide-tooltip-person,
.freq-wide-tooltip-info-card,
.freq-wide-tooltip-metrics > div{
  min-width:0;
  padding:.65rem .72rem;
  border:1px solid #dce6f1;
  border-radius:.85rem;
  background:#f8fbff;
}
.freq-wide-tooltip-person{
  background:linear-gradient(135deg,#f5f9ff,#fff);
  border-color:#cfe0f2;
}
.freq-wide-tooltip-person-line{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
}
.freq-wide-tooltip-person-line span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:.18rem .48rem;
  border-radius:.48rem;
  color:#1d4ed8;
  background:#eaf2ff;
  font-size:.7rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.freq-wide-tooltip-person-line strong{
  min-width:0;
  overflow:hidden;
  color:#17365d;
  font-size:.83rem;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.freq-wide-tooltip-person > small{
  display:block;
  margin-top:.3rem;
  overflow:hidden;
  color:#718198;
  font-size:.63rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.freq-wide-tooltip-info-card small,
.freq-wide-tooltip-metrics small{
  display:block;
  color:#8090a6;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.freq-wide-tooltip-info-card strong,
.freq-wide-tooltip-metrics strong{
  display:block;
  margin-top:.2rem;
  overflow:hidden;
  color:#31445f;
  font-size:.7rem;
  font-weight:900;
  line-height:1.3;
  text-overflow:ellipsis;
}
.freq-wide-tooltip-metrics{
  display:grid;
  grid-template-columns:1.35fr .72fr .72fr .72fr;
  gap:.55rem;
  margin-top:.55rem;
}
.freq-wide-tooltip-metrics > div:first-child{background:#f4f8fd}
.freq-wide-tooltip-metrics > div.is-worked{background:#eef9ff;border-color:#cbe9f8}
.freq-wide-tooltip-metrics > div.is-interval{background:#fff9ec;border-color:#f7dfac}
.freq-wide-tooltip-metrics strong.has-value{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:.14rem .4rem;
  border-radius:.42rem;
  color:#075985;
  background:#dff4ff;
  box-shadow:inset 0 0 0 1px #bae6fd;
}
.freq-wide-tooltip-section-title{
  display:flex;
  align-items:center;
  gap:.4rem;
  margin:.72rem 0 .42rem;
  color:#315174;
  font-size:.65rem;
  font-weight:950;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.freq-wide-tooltip-section-title i{color:#1681c4;font-size:.78rem}
.freq-wide-tooltip-section-title + .freq-wide-punch-grid,
.freq-wide-tooltip-section-title + .freq-wide-tooltip-table-wrap{margin-top:0}
@media (max-width:820px){
  .freq-wide-tooltip-overview{grid-template-columns:1fr 1fr}
  .freq-wide-tooltip-person{grid-column:1 / -1}
  .freq-wide-tooltip-metrics{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .freq-wide-tooltip-overview,
  .freq-wide-tooltip-metrics{grid-template-columns:1fr}
  .freq-wide-tooltip-person{grid-column:auto}
}

/* V61.0.81 REV11 — relatórios especiais lado a lado e filtros equivalentes */
.nucleo-special-pair-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.nucleo-special-pair-grid > .nucleo-feature-card{
  min-width:0;
  height:100%;
}
.nucleo-special-pair-grid .feature-folha-verbas-special{
  grid-column:auto;
}
.nucleo-special-pair-grid .nucleo-special-body{
  grid-template-columns:minmax(0,1.45fr) minmax(210px,.72fr);
}
.nucleo-special-pair-grid .nucleo-special-title p{
  max-width:680px;
  line-height:1.48;
}
.nucleo-card-filter-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.nucleo-card-filter-grid > label{
  min-width:0;
}
.nucleo-card-filter-grid > label > span{
  display:block;
  margin:0 0 .35rem .08rem;
  color:#334155;
  font-size:.78rem;
  font-weight:900;
}
.nucleo-card-filter-grid .form-select{
  min-height:44px;
  border-color:#cfe2f5;
  border-radius:14px;
  color:#12344f;
  font-weight:800;
}
.nucleo-special-pair-grid .nucleo-special-selectors > .nucleo-linear-employees{
  grid-column:1 / -1;
}
.nucleo-special-pair-grid .nucleo-special-controls .form-select{
  min-height:44px;
  border-radius:14px;
  font-weight:800;
}
@media (max-width:1199.98px){
  .nucleo-special-pair-grid{grid-template-columns:1fr;}
  .nucleo-special-pair-grid .nucleo-special-body{grid-template-columns:minmax(0,1.6fr) minmax(270px,.75fr);}
}
@media (max-width:991.98px){
  .nucleo-special-pair-grid .nucleo-special-body{grid-template-columns:1fr;}
  .nucleo-card-filter-grid{grid-template-columns:1fr;}
}

/* V61.0.81 REV12 — destaque dos relatórios para conferência */
.nucleo-export-page .nucleo-special-export-section{
  position:relative;
  overflow:visible;
  border:2px solid #38bdf8;
  background:
    radial-gradient(circle at 8% 0,rgba(56,189,248,.18),transparent 30%),
    radial-gradient(circle at 94% 100%,rgba(14,165,233,.12),transparent 34%),
    linear-gradient(135deg,#eaf8ff 0%,#fff 48%,#ecfdf5 100%);
  box-shadow:0 24px 60px rgba(2,132,199,.16);
}
.nucleo-export-page .nucleo-special-export-section::before{
  content:'';
  position:absolute;
  top:-2px;
  left:28px;
  right:28px;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#2563eb,#06b6d4,#14b8a6);
  box-shadow:0 8px 22px rgba(14,165,233,.24);
  pointer-events:none;
}
.nucleo-export-page .nucleo-special-export-section > .nucleo-exporters-summary{
  min-height:104px;
  padding:1.25rem 1.35rem;
  background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(6,182,212,.08),rgba(20,184,166,.07));
}
.nucleo-export-page .nucleo-special-export-section > .nucleo-exporters-summary .nucleo-kicker{
  color:#0369a1;
  background:rgba(255,255,255,.78);
  border:1px solid #bae6fd;
  border-radius:999px;
  width:max-content;
  padding:.28rem .58rem;
  box-shadow:0 8px 20px rgba(14,165,233,.08);
}
.nucleo-new-pill{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.27rem .55rem;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#06b6d4);
  box-shadow:0 8px 18px rgba(37,99,235,.20);
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.08em;
}
.nucleo-new-pill .material-symbols-rounded{font-size:.9rem}
.nucleo-special-pair-grid{
  gap:22px;
}
.nucleo-special-pair-grid > .nucleo-feature-card{
  border-width:1.5px;
  box-shadow:0 20px 46px rgba(15,88,145,.12);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.nucleo-special-pair-grid > .nucleo-feature-card:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 58px rgba(15,88,145,.17);
}
.nucleo-special-generate-btn{
  min-height:48px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#0b74df,#05a9cb);
  box-shadow:0 14px 28px rgba(11,116,223,.20);
  font-weight:950;
  letter-spacing:.01em;
}
.nucleo-special-generate-btn:hover,
.nucleo-special-generate-btn:focus{
  background:linear-gradient(135deg,#075fbd,#078aa9);
  box-shadow:0 17px 34px rgba(11,116,223,.26);
  transform:translateY(-1px);
}
.nucleo-special-generate-btn .material-symbols-rounded{font-size:1.25rem}
@media (max-width:767.98px){
  .nucleo-export-page .nucleo-special-export-section > .nucleo-exporters-summary{padding:1rem}
  .nucleo-new-pill{font-size:.6rem}
}

/* V61.0.81 REV13 — filtros múltiplos, cabeçalho linear e exportações centralizadas */
.freq-wide-filter-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:end;
  overflow:visible;
}
.freq-wide-generic-filter,
.freq-wide-filter-multi{min-width:0}
.freq-wide-filter-panel{min-width:300px}
.freq-wide-filter-option strong{white-space:normal;line-height:1.25}
.freq-wide-filter-multi.open{z-index:5400}
.freq-wide-filter-multi.open .freq-wide-filter-panel{z-index:5410}
.freq-wide-page.has-open-employee-select .freq-wide-table-shell{z-index:1 !important}

.freq-wide-table-topline{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:54px;
  padding:.48rem .68rem;
  border-bottom:1px solid #d7e5f4;
  background:linear-gradient(180deg,#fff,#f8fbff);
  overflow:visible;
}
.freq-wide-topline-pills{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:.38rem;
  overflow-x:auto;
  padding:.05rem .08rem .18rem;
  scrollbar-width:thin;
}
.freq-wide-topline-pills > span{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.32rem;
  min-height:31px;
  padding:.32rem .54rem;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#f8fbff;
  color:#52637e;
  font-size:.67rem;
  font-weight:780;
  white-space:nowrap;
}
.freq-wide-topline-pills > span i{color:#2563eb}
.freq-wide-topline-pills > span strong,
.freq-wide-topline-pills > span b{color:#0f2747;font-weight:950}
.freq-wide-topline-pills .freq-wide-team-pill{max-width:290px;background:#eef6ff}
.freq-wide-topline-pills .freq-wide-team-pill strong{overflow:hidden;text-overflow:ellipsis}
.freq-wide-topline-tools{
  flex:0 0 auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:.38rem;
  flex-wrap:nowrap;
  margin-left:auto;
}
.freq-wide-topline-tools > .btn{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.28rem;
  border-radius:.62rem;
  font-size:.68rem;
  font-weight:900;
  white-space:nowrap;
}
.freq-wide-topline-tools > #freqToggleAllDepartments{min-width:78px}
.freq-wide-topline-tools > #freqResetFilters,
.freq-wide-topline-tools > #freqExportButton{width:36px;min-width:36px;padding:0}
.freq-wide-department-status{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:.38rem;
  min-height:31px;
  padding:.28rem .72rem;
  border-bottom:1px solid #e4edf6;
  background:#f7fbff;
  color:#718198;
  font-size:.65rem;
  font-weight:760;
}
.freq-wide-department-status i{color:#2563eb}
.freq-wide-department-status strong{color:#17365d;font-size:.7rem;font-weight:950}

.nucleo-operational-export-section{
  position:relative;
  padding:1.1rem;
  border:1px solid #b9daf7;
  border-radius:22px;
  background:linear-gradient(145deg,#f4faff 0%,#fff 50%,#f2fbff 100%);
  box-shadow:0 20px 46px rgba(15,88,145,.10);
  overflow:visible;
}
.nucleo-operational-export-heading{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  margin-bottom:1rem;
  padding-bottom:.9rem;
  border-bottom:1px solid #d9eaf8;
}
.nucleo-operational-export-icon{
  width:48px;height:48px;flex:0 0 48px;
  display:grid;place-items:center;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(135deg,#1665d8,#06a8cf);
  box-shadow:0 12px 24px rgba(22,101,216,.22);
}
.nucleo-operational-export-icon .material-symbols-rounded{font-size:1.55rem}
.nucleo-operational-export-heading small{
  display:block;margin-bottom:.16rem;color:#2875b9;font-size:.68rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase
}
.nucleo-operational-export-heading h3{margin:0 0 .28rem;color:#12345a;font-size:1.08rem;font-weight:950}
.nucleo-operational-export-heading p{margin:0;max-width:1080px;color:#61748d;font-size:.82rem;line-height:1.55}
.embedded-operational-exports .export-page{padding:0}
.embedded-operational-exports .app-card{border-color:#d7e7f6;box-shadow:0 13px 28px rgba(15,88,145,.075)}
.embedded-operational-exports .row.g-4 > div > .app-card{
  position:relative;
  overflow:hidden;
  border-top:4px solid #0d8ee8;
}
.embedded-operational-exports .row.g-4 > div:nth-child(2) > .app-card{border-top-color:#13a47a}
.embedded-operational-exports .row.g-4 > div:nth-child(3) > .app-card{border-top-color:#f59e0b}
.embedded-operational-exports .export-summary-accordion,
.embedded-operational-exports .export-filter-card{margin-bottom:1rem !important}

@media (max-width:991.98px){
  .freq-wide-table-topline{align-items:flex-start;flex-direction:column}
  .freq-wide-topline-pills{width:100%}
  .freq-wide-topline-tools{width:100%;justify-content:flex-end;margin-left:0}
}
@media (max-width:1199.98px){
  .freq-wide-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .freq-wide-filter-grid > :last-child{grid-column:1 / -1}
}
@media (max-width:767.98px){
  .freq-wide-filter-grid{grid-template-columns:1fr}
  .freq-wide-filter-grid > :last-child{grid-column:auto}
  .freq-wide-filter-panel{min-width:min(330px,calc(100vw - 42px))}
  .freq-wide-topline-tools{justify-content:flex-start;flex-wrap:wrap}
  .freq-wide-export-controls-compact{order:2;flex:1 1 100%}
  .freq-wide-topline-tools > #freqResetFilters,
  .freq-wide-topline-tools > #freqExportButton{order:3}
  .nucleo-operational-export-section{padding:.8rem;border-radius:17px}
  .nucleo-operational-export-heading{align-items:center}
}


/* V61.0.81 REV17 — Nota Técnica Explicativa da Conferência */
.home-nota-tecnica-wrap{
  background:
    linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.92)),
    repeating-linear-gradient(to bottom, transparent 0, transparent 29px, rgba(51,86,126,.11) 29px, rgba(51,86,126,.11) 30px),
    linear-gradient(90deg, transparent 0, transparent 56px, rgba(219,39,119,.18) 56px, rgba(219,39,119,.18) 58px, transparent 58px),
    linear-gradient(135deg,#fffdf9 0%,#f8fbff 70%,#f3faff 100%);
  border:2px solid #243b63;
  border-radius:30px;
  padding:24px 24px 22px 76px;
  position:relative;
  overflow:hidden;
}
.home-nota-tecnica-wrap::before{
  content:'';
  position:absolute;left:16px;top:16px;bottom:16px;width:22px;border-radius:18px;
  background:repeating-linear-gradient(to bottom, rgba(31,41,55,.9) 0 6px, transparent 6px 31px);
}
.home-nt-badge{display:flex;width:max-content;align-items:center;gap:.55rem;margin:0 auto 1rem;padding:.55rem 1rem;border-radius:999px;border:2px dashed #f59e0b;background:#fff7ed;color:#a16207;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:900;}
.home-nt-hero h3{font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.02;letter-spacing:-.055em;font-weight:1000;color:#12396d;margin:0 0 .55rem;text-shadow:0 7px 0 rgba(18,57,109,.07);}
.home-nt-hero p{max-width:920px;margin:0 auto 1.2rem;color:#496482;font-size:1rem;line-height:1.7;}
.home-nt-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:1rem;}
.home-nt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:1rem;}
.home-nt-step{position:relative;padding:22px 18px 18px;border-radius:22px;border:2px solid #dbeafe;background:rgba(255,255,255,.82);box-shadow:0 10px 26px rgba(15,23,42,.05);min-height:180px;}
.home-nt-step-number{position:absolute;left:-12px;top:-12px;width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:1000;box-shadow:0 10px 20px rgba(15,23,42,.15);}
.home-nt-step h4{margin:0 0 .65rem;font-size:1.22rem;font-weight:950;}
.home-nt-step p{margin:0;color:#334155;line-height:1.6;font-size:.96rem;}
.home-nt-step.nt-green{background:rgba(236,253,245,.86);border-color:#a7f3d0}.home-nt-step.nt-green .home-nt-step-number{background:#16a34a}.home-nt-step.nt-green h4{color:#15803d}
.home-nt-step.nt-blue{background:rgba(239,246,255,.86);border-color:#bfdbfe}.home-nt-step.nt-blue .home-nt-step-number{background:#2563eb}.home-nt-step.nt-blue h4{color:#1d4ed8}
.home-nt-step.nt-purple{background:rgba(245,243,255,.86);border-color:#ddd6fe}.home-nt-step.nt-purple .home-nt-step-number{background:#7c3aed}.home-nt-step.nt-purple h4{color:#6d28d9}
.home-nt-step.nt-amber{background:rgba(255,247,237,.88);border-color:#fed7aa}.home-nt-step.nt-amber .home-nt-step-number{background:#ea580c}.home-nt-step.nt-amber h4{color:#c2410c}
.home-nt-step.nt-rose{background:rgba(253,242,248,.88);border-color:#fbcfe8}.home-nt-step.nt-rose .home-nt-step-number{background:#db2777}.home-nt-step.nt-rose h4{color:#be185d}
.home-nt-step.nt-cyan{background:rgba(236,254,255,.88);border-color:#bae6fd}.home-nt-step.nt-cyan .home-nt-step-number{background:#0891b2}.home-nt-step.nt-cyan h4{color:#0f766e}
.home-nt-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;}
.home-nt-info-card{padding:18px;border-radius:20px;border:2px solid #cfe3fb;background:rgba(255,255,255,.8);box-shadow:0 10px 24px rgba(15,23,42,.05)}
.home-nt-info-title{display:flex;align-items:center;gap:.55rem;color:#0f4f88;font-weight:950;margin-bottom:.5rem}.home-nt-info-title i{font-size:1.05rem}
.home-nt-info-card p{margin:0;color:#334155;line-height:1.65}
.home-nt-tip{display:flex;align-items:flex-start;justify-content:center;gap:.6rem;margin-top:18px;font-weight:800;color:#12396d;text-align:center}
.home-nt-tip i{color:#e11d48;margin-top:.1rem}
@media (max-width:1200px){.home-nt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:768px){.home-nota-tecnica-wrap{padding:20px 18px 18px 18px}.home-nota-tecnica-wrap::before{display:none}.home-nt-grid,.home-nt-bottom-grid{grid-template-columns:1fr}.home-nt-hero h3{font-size:2rem}}

/* V61.0.81 REV17 — Central de Relatórios com cards em destaque */
.central-featured-section{
  border:1px solid #bfdbfe;
  border-radius:26px;
  padding:22px;
  background:linear-gradient(135deg,#f8fbff,#eef8ff);
  box-shadow:0 16px 38px rgba(15,23,42,.06);
}
.central-featured-kicker{
  display:inline-flex;align-items:center;gap:.35rem;
  margin-bottom:.45rem;padding:.32rem .72rem;border-radius:999px;
  background:#e0f2fe;border:1px solid #bae6fd;color:#075985;
  font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;
}
.central-featured-card{
  display:flex;flex-direction:column;
  min-height:270px;padding:20px;border-radius:22px;
  border:1px solid #dbeafe;background:#fff;
  box-shadow:0 14px 30px rgba(15,23,42,.06);
  overflow:hidden;position:relative;
}
.central-featured-card::after{content:'';position:absolute;inset:auto -24px -34px auto;width:105px;height:105px;border-radius:999px;background:currentColor;opacity:.055}
.central-featured-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}
.central-featured-icon{width:44px;height:44px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;font-size:1.2rem}
.central-featured-badge{background:#fff!important;border:1px solid currentColor;color:inherit!important;font-size:.68rem}
.central-featured-card h2{font-size:1.12rem;font-weight:950;color:#0f2747;margin:0 0 .6rem}
.central-featured-card p{font-size:.88rem;line-height:1.55;color:#52677f;margin:0 0 .85rem}
.central-featured-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}
.central-featured-meta span{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:800;color:#405873;background:rgba(255,255,255,.75);border:1px solid #dbeafe;border-radius:999px;padding:.32rem .58rem}
.central-featured-green{color:#15803d;background:linear-gradient(145deg,#fff,#ecfdf5);border-color:#a7f3d0}.central-featured-green .central-featured-icon{background:#dcfce7;color:#15803d}
.central-featured-blue{color:#1d4ed8;background:linear-gradient(145deg,#fff,#eff6ff);border-color:#bfdbfe}.central-featured-blue .central-featured-icon{background:#dbeafe;color:#1d4ed8}
.central-featured-cyan{color:#0f766e;background:linear-gradient(145deg,#fff,#ecfeff);border-color:#a5f3fc}.central-featured-cyan .central-featured-icon{background:#cffafe;color:#0f766e}
.central-featured-purple{color:#6d28d9;background:linear-gradient(145deg,#fff,#f5f3ff);border-color:#ddd6fe}.central-featured-purple .central-featured-icon{background:#ede9fe;color:#6d28d9}
.central-featured-amber{color:#c2410c;background:linear-gradient(145deg,#fff,#fff7ed);border-color:#fed7aa}.central-featured-amber .central-featured-icon{background:#ffedd5;color:#c2410c}
.central-featured-rose{color:#be185d;background:linear-gradient(145deg,#fff,#fdf2f8);border-color:#fbcfe8}.central-featured-rose .central-featured-icon{background:#fce7f3;color:#be185d}
.central-featured-slate{color:#334155;background:linear-gradient(145deg,#fff,#f8fafc);border-color:#cbd5e1}.central-featured-slate .central-featured-icon{background:#e2e8f0;color:#334155}
