/* CGL TECH - camada final de layout amplo */

.app:not(.sidebar-compact):not(.sidebar-hidden) {
  grid-template-columns: 250px minmax(0, 1fr) !important;
}

/* Comercial / CRM premium */
#comercial {
  --crm-primary: #2563eb;
  --crm-secondary: #1e293b;
  --crm-success: #16a34a;
  --crm-warning: #ea580c;
  --crm-danger: #dc2626;
  --crm-neutral: #64748b;
  --crm-border: #e2e8f0;
  --crm-soft: #f8fafc;
  --crm-text: #0f172a;
  --crm-muted: #64748b;
}

#comercial .module-hero,
#comercial .panel,
#comercial .metric,
#comercial .commercial-card,
#comercial .pipeline-column,
#comercial .pipeline-card {
  background: #ffffff !important;
  color: var(--crm-text) !important;
  border: 1px solid var(--crm-border) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07) !important;
}

#comercial .module-hero {
  align-items: center !important;
  border-radius: 22px !important;
  padding: 24px !important;
}

#comercial .module-hero h1,
#comercial .panel h2,
#comercial .commercial-card strong,
#comercial .pipeline-card strong,
#comercial .pipeline-column header strong,
#comercial .commercial-empty-state strong {
  color: var(--crm-text) !important;
}

#comercial .module-hero p,
#comercial .module-hero span,
#comercial .panel-head span,
#comercial .commercial-card p,
#comercial .commercial-card small,
#comercial .pipeline-card p,
#comercial .pipeline-card small,
#comercial .empty-note,
#comercial .commercial-empty-state p,
#comercial .commercial-meta dt {
  color: var(--crm-muted) !important;
}

#comercial .commercial-metrics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
}

#comercial .commercial-kpi {
  min-height: 154px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 20px !important;
  border-radius: 18px !important;
  overflow: visible !important;
}

#comercial .commercial-kpi span {
  color: var(--crm-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#comercial .commercial-kpi strong {
  color: var(--crm-text) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}

#comercial .commercial-kpi small {
  color: var(--crm-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

#comercial .commercial-dashboard-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, .72fr) !important;
  gap: 20px !important;
  width: 100% !important;
  align-items: start !important;
}

#comercial .commercial-ai-panel {
  position: sticky !important;
  top: 18px !important;
  border-top: 4px solid #7c3aed !important;
}

#comercial .commercial-pipeline {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  overflow: visible !important;
}

#comercial .commercial-followups {
  display: grid !important;
  gap: 12px !important;
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--crm-border) !important;
}

#comercial .compact-head {
  margin-bottom: 0 !important;
}

#comercial .commercial-followup-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 16px !important;
  background: var(--crm-soft) !important;
}

#comercial .commercial-followup-card p {
  margin: 4px 0 0 !important;
  color: var(--crm-muted) !important;
}

#comercial .pipeline-column {
  border-radius: 18px !important;
  padding: 16px !important;
  border-top: 4px solid var(--crm-primary) !important;
  min-width: 0 !important;
  min-height: 180px !important;
}

#comercial .pipeline-column header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}

#comercial .pipeline-column header span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  color: #1d4ed8 !important;
  font-weight: 800 !important;
}

#comercial .pipeline-cards {
  display: grid !important;
  gap: 12px !important;
}

#comercial .pipeline-card {
  display: grid !important;
  gap: 12px !important;
  border-left: 4px solid var(--crm-primary) !important;
  border-radius: 16px !important;
  padding: 15px !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
}

#comercial .pipeline-card-title {
  display: grid !important;
  gap: 4px !important;
}

#comercial .pipeline-card-title span {
  color: var(--crm-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

#comercial .commercial-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

#comercial .commercial-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: start !important;
  border-radius: 18px !important;
  padding: 18px !important;
  border-left: 4px solid var(--crm-primary) !important;
}

#comercial .commercial-card > div:first-child {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#comercial .commercial-card > div:first-child > span {
  color: var(--crm-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#comercial .commercial-meta {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 10px !important;
  margin: 4px 0 !important;
}

#comercial .commercial-meta div {
  padding: 10px !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 12px !important;
  background: var(--crm-soft) !important;
}

#comercial .commercial-meta dt {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}

#comercial .commercial-meta dd {
  margin: 0 !important;
  color: var(--crm-text) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
}

#comercial .commercial-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: 420px !important;
}

#comercial .status-control {
  min-width: 160px !important;
  min-height: 42px !important;
  background: #ffffff !important;
  color: var(--crm-text) !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

#comercial button,
#commercialLeadDialog button {
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  min-height: 40px !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

#comercial .tabs button {
  background: var(--crm-secondary) !important;
  color: #ffffff !important;
}

#comercial .tabs button.active {
  background: var(--crm-primary) !important;
  color: #ffffff !important;
}

#comercial .primary,
#comercial button.primary,
#comercial .primary-action,
#commercialLeadDialog .primary,
#commercialLeadDialog button.primary {
  background: var(--crm-primary) !important;
}

#comercial .secondary,
#comercial button.secondary,
#comercial .secondary-action,
#commercialLeadDialog .secondary,
#commercialLeadDialog button.secondary {
  background: var(--crm-secondary) !important;
}

#comercial .success-action,
#comercial button.success,
#comercial .success {
  background: var(--crm-success) !important;
}

#comercial .warning-action,
#comercial button.warning,
#comercial .warning {
  background: var(--crm-warning) !important;
}

#comercial .danger-action,
#comercial button.danger,
#comercial .danger {
  background: var(--crm-danger) !important;
}

#comercial .mini-action {
  font-size: 12px !important;
  line-height: 1.2 !important;
}

#comercial .commercial-empty-state {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  padding: 22px !important;
  background: #ffffff !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 18px !important;
  color: var(--crm-text) !important;
}

#comercial .commercial-empty-icon {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #dbeafe !important;
  color: #1d4ed8 !important;
  font-weight: 900 !important;
}

#comercial .commercial-empty-state > div:last-child {
  display: grid !important;
  gap: 8px !important;
}

#comercial .commercial-ai-summary,
#comercial .commercial-ai-list {
  background: var(--crm-soft) !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 16px !important;
  padding: 14px !important;
}

#comercial .commercial-ai-list {
  display: grid !important;
  gap: 10px !important;
  margin: 14px 0 !important;
  padding-left: 30px !important;
}

#comercial .commercial-ai-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

#comercial .commercial-controls,
#comercial .commercial-bulk-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  padding: 16px !important;
  background: #f8fafc !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 18px !important;
}

#comercial .commercial-controls label,
#comercial .commercial-bulk-actions label {
  display: grid !important;
  gap: 7px !important;
  color: var(--crm-muted) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#comercial .commercial-controls input,
#comercial .commercial-controls select,
#comercial .commercial-bulk-actions input,
#comercial .commercial-bulk-actions select {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--crm-text) !important;
  padding: 10px 12px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

#comercial .commercial-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#comercial .commercial-tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  background: #eef2ff !important;
  color: #3730a3 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

#comercial .commercial-select-lead {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--crm-muted) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#comercial .commercial-select-lead input {
  width: 18px !important;
  height: 18px !important;
}

#comercial .commercial-history {
  margin-top: 8px !important;
  padding: 12px !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
}

#comercial .commercial-history summary {
  cursor: pointer !important;
  color: var(--crm-text) !important;
  font-weight: 900 !important;
}

#comercial .commercial-history p {
  margin: 10px 0 0 !important;
  color: var(--crm-muted) !important;
  line-height: 1.45 !important;
}

#comercial .neutral-action,
#comercial button.neutral {
  background: var(--crm-neutral) !important;
}

#commercialLeadDialog {
  --crm-primary: #2563eb;
  --crm-secondary: #1e293b;
  --crm-success: #16a34a;
  --crm-warning: #ea580c;
  --crm-danger: #dc2626;
  --crm-neutral: #64748b;
  --crm-border: #e2e8f0;
  --crm-soft: #f8fafc;
  --crm-text: #0f172a;
  --crm-muted: #64748b;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: none !important;
}

#commercialImportDialog {
  --crm-primary: #2563eb;
  --crm-secondary: #1e293b;
  --crm-success: #16a34a;
  --crm-warning: #ea580c;
  --crm-danger: #dc2626;
  --crm-neutral: #64748b;
  --crm-border: #e2e8f0;
  --crm-soft: #f8fafc;
  --crm-text: #0f172a;
  --crm-muted: #64748b;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  max-width: none !important;
}

#commercialImportDialog::backdrop {
  background: rgba(15, 23, 42, .45) !important;
}

#commercialImportDialog .commercial-import-modal {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 48px) !important;
  overflow: auto !important;
  background: #ffffff !important;
  color: var(--crm-text) !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 22px !important;
  padding: 22px !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .22) !important;
}

#commercialImportDialog .panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 18px !important;
}

#commercialImportDialog .panel-head h2,
#commercialImportDialog h3 {
  color: var(--crm-text) !important;
}

#commercialImportDialog .panel-head span,
#commercialImportDialog p {
  color: var(--crm-muted) !important;
}

#commercialImportDialog .panel-head button[aria-label="Fechar"] {
  width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  background: var(--crm-neutral) !important;
}

#commercialImportDialog button {
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  min-height: 40px !important;
  padding: 10px 14px !important;
  opacity: 1 !important;
}

#commercialImportDialog .primary,
#commercialImportDialog button.primary {
  background: var(--crm-primary) !important;
}

#commercialImportDialog .secondary,
#commercialImportDialog button.secondary {
  background: var(--crm-secondary) !important;
}

#commercialImportDialog .success,
#commercialImportDialog button.success {
  background: var(--crm-success) !important;
}

#commercialImportDialog .danger,
#commercialImportDialog button.danger {
  background: var(--crm-danger) !important;
}

#commercialImportDialog .neutral-action,
#commercialImportDialog button.neutral-action {
  background: var(--crm-neutral) !important;
}

#commercialImportDialog .commercial-import-grid {
  display: grid !important;
  grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr) !important;
  gap: 16px !important;
}

#commercialImportDialog .commercial-import-grid > section,
#commercialImportDialog .commercial-import-box {
  display: grid !important;
  gap: 12px !important;
}

#commercialImportDialog .commercial-import-box {
  padding: 16px !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 18px !important;
  background: var(--crm-soft) !important;
}

#commercialImportDialog label,
#commercialImportDialog #commercialImportMapping label {
  display: grid !important;
  gap: 8px !important;
  color: var(--crm-text) !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

#commercialImportDialog input,
#commercialImportDialog select {
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--crm-text) !important;
  padding: 10px 12px !important;
  font-weight: 700 !important;
}

#commercialImportDialog input[type="radio"] {
  width: 18px !important;
  min-height: 18px !important;
}

#commercialImportDialog label:has(input[type="radio"]) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#commercialImportDialog #commercialImportMapping {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
}

#commercialImportDialog .commercial-import-summary {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 12px !important;
  margin: 16px 0 !important;
}

#commercialImportDialog .commercial-import-summary article {
  padding: 14px !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
}

#commercialImportDialog .commercial-import-summary span {
  display: block !important;
  color: var(--crm-muted) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#commercialImportDialog .commercial-import-summary strong {
  display: block !important;
  margin-top: 6px !important;
  color: var(--crm-text) !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

#commercialImportDialog .commercial-import-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

#commercialImportDialog .commercial-preview-table {
  overflow-x: auto !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  padding: 12px !important;
}

#commercialImportDialog table {
  width: 100% !important;
  border-collapse: collapse !important;
  min-width: 760px !important;
}

#commercialImportDialog th {
  background: #f8fafc !important;
  color: var(--crm-muted) !important;
  font-size: 12px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

#commercialImportDialog th,
#commercialImportDialog td {
  padding: 12px !important;
  border-bottom: 1px solid var(--crm-border) !important;
  color: var(--crm-text) !important;
  font-weight: 700 !important;
}

#commercialImportDialog menu {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

#commercialLeadDialog::backdrop {
  background: rgba(15, 23, 42, .45) !important;
}

#commercialLeadDialog .commercial-lead-modal {
  width: min(900px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 48px) !important;
  overflow: auto !important;
  background: #ffffff !important;
  color: var(--crm-text) !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: 22px !important;
  padding: 22px !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .22) !important;
}

#commercialLeadDialog .panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 18px !important;
}

#commercialLeadDialog .panel-head h2 {
  color: var(--crm-text) !important;
}

#commercialLeadDialog .panel-head span {
  color: var(--crm-muted) !important;
}

#commercialLeadDialog .panel-head button[aria-label="Fechar"] {
  width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  background: var(--crm-neutral) !important;
}

#commercialLeadDialog .commercial-modal-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#commercialLeadDialog .commercial-modal-wide {
  grid-column: 1 / -1 !important;
}

#commercialLeadDialog label {
  display: grid !important;
  gap: 8px !important;
  color: var(--crm-text) !important;
  font-weight: 800 !important;
}

#commercialLeadDialog input,
#commercialLeadDialog select,
#commercialLeadDialog textarea {
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--crm-text) !important;
  padding: 10px 12px !important;
  font-weight: 700 !important;
}

#commercialLeadDialog menu {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

@media (max-width: 1180px) {
  #comercial .commercial-dashboard-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #comercial .commercial-ai-panel {
    position: static !important;
  }

  #comercial .commercial-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #comercial .commercial-card-actions {
    justify-content: flex-start !important;
    max-width: none !important;
  }

  #commercialImportDialog .commercial-import-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  #commercialLeadDialog .commercial-modal-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #commercialLeadDialog menu,
  #commercialImportDialog menu,
  #commercialImportDialog .commercial-import-actions,
  #comercial .commercial-ai-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #comercial .commercial-empty-state {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

.app:not(.sidebar-compact):not(.sidebar-hidden) .sidebar {
  width: 250px !important;
  min-width: 250px !important;
}

.main,
.section,
.section.active,
.fiscal-view,
.personnel-view,
.accounting-view,
.commercial-view,
.finance-view,
.issuer-view,
.global-view,
.pricing-view,
.athena-tab-view {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.main {
  padding: 20px clamp(16px, 2vw, 32px) 110px !important;
  overflow-x: clip !important;
}

.section,
.fiscal-view,
.personnel-view,
.accounting-view,
.commercial-view,
.finance-view,
.issuer-view,
.global-view,
.pricing-view,
.athena-tab-view {
  overflow: visible !important;
}

.layout,
.accounting-layout,
.commercial-layout,
.dashboard-clean-grid,
.premium-dashboard-grid,
.tax-layout,
.athena-grid,
.developer-grid,
.premium-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.layout > *,
.accounting-layout > *,
.commercial-layout > *,
.dashboard-clean-grid > *,
.premium-dashboard-grid > *,
.tax-layout > *,
.athena-grid > *,
.developer-grid > *,
.premium-bottom-grid > * {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.panel,
.panel.large,
aside.panel,
section.panel,
.glass-panel,
.tax-panel {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.panel:not(.chart-card):not(.annual-chart-panel) {
  overflow: visible !important;
}

.panel-head,
.section-head,
.module-hero,
.premium-hero {
  flex-wrap: wrap !important;
  height: auto !important;
  min-height: 64px !important;
  gap: 10px 18px !important;
}

.panel-head > *,
.section-head > *,
.module-hero > *,
.premium-hero > * {
  min-width: 0 !important;
}

/* Contexto da empresa: faixa compacta, sem acompanhar a altura dos filtros. */
.accounting-context {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-bottom: 18px !important;
}

.accounting-context > .company-card {
  display: grid !important;
  grid-template-columns:
    minmax(150px, .55fr)
    minmax(220px, .9fr)
    minmax(240px, 1fr)
    minmax(280px, 1.35fr) !important;
  align-items: center !important;
  align-self: start !important;
  gap: 10px 20px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 18px 20px !important;
}

.accounting-context > .company-card > * {
  min-width: 0 !important;
  margin: 0 !important;
  overflow-wrap: anywhere !important;
}

.accounting-context > .company-card span {
  font-size: 12px !important;
}

.accounting-context > .company-card strong {
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.2 !important;
}

.accounting-context > .company-card small {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.accounting-context > .accounting-actions {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

.metrics,
.premium-metrics,
.executive-grid,
.accounting-dashboard-grid,
.accounting-process-grid,
.accounting-report-grid,
.quick-grid,
.action-grid,
.folder-browser,
.document-folder-list,
.commercial-list,
.pricing-overview-grid,
.roadmap-grid,
.roadmap-rule-grid,
.athena-module-grid,
.athena-memory-grid,
.cintia-resource-grid,
.cintia-source-grid,
.cintia-simulator-grid,
.finance-totals-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.premium-metrics,
.accounting-dashboard-grid,
.pricing-overview-grid,
.finance-totals-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
}

.folder-browser,
.document-folder-list,
.commercial-list,
.accounting-process-grid,
.accounting-report-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
}

.metric,
.premium-metric,
.executive-card,
.process-card,
.report-card,
.folder-card,
.commercial-card,
.company-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.accounting-form,
.commercial-form,
.pricing-form,
.tax-form,
.document-upload-form,
.finance-document-form,
.accounting-actions,
.client-access-form,
.plan-form,
.toolbar {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  align-items: end !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.accounting-form label,
.commercial-form label,
.pricing-form label,
.tax-form label,
.document-upload-form label,
.finance-document-form label,
.accounting-actions label,
.client-access-form label,
.plan-form label,
.toolbar label {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
}

.accounting-form input,
.accounting-form select,
.accounting-form textarea,
.commercial-form input,
.commercial-form select,
.commercial-form textarea,
.pricing-form input,
.pricing-form select,
.pricing-form textarea,
.tax-form input,
.tax-form select,
.tax-form textarea,
.document-upload-form input,
.document-upload-form select,
.finance-document-form input,
.finance-document-form select,
.accounting-actions input,
.accounting-actions select,
.client-access-form input,
.client-access-form select,
.plan-form input,
.plan-form select,
.toolbar input,
.toolbar select {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.tabs,
.accounting-tabs,
.module-tabs,
.view-tabs,
.filter-tabs,
.topbar-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: none !important;
  gap: 8px !important;
}

.tabs button,
.accounting-tabs button,
.module-tabs button,
.view-tabs button,
.filter-tabs button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.accounting-control-list,
.closing-list,
.rule-list,
.document-list,
.task-list,
.task-board,
.table,
.accounting-table,
.opening-balance-table,
.pricing-table-wrap {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.accounting-table,
.opening-balance-table,
.pricing-table-wrap {
  overflow-x: auto !important;
}

.accounting-control-list .control-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: minmax(280px, 1.5fr) repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 16px !important;
}

.accounting-control-list .control-card .control-actions,
.accounting-control-list .control-card .account-row-actions {
  grid-column: 1 / -1 !important;
  justify-content: flex-start !important;
}

.closing-list .closing-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: 44px minmax(280px, 1fr) minmax(260px, auto) !important;
  gap: 16px !important;
}

.rule-list .rule-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, auto) !important;
  gap: 18px !important;
}

.rule-list .workflow-actions,
.closing-list .workflow-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: end !important;
  gap: 10px !important;
}

.cintia-floating,
.athena-floating,
#athenaFloating,
#cintiaFloating {
  position: fixed !important;
  right: 22px !important;
  bottom: 20px !important;
  z-index: 100 !important;
}

@media (max-width: 1280px) {
  .app:not(.sidebar-compact):not(.sidebar-hidden) {
    grid-template-columns: 220px minmax(0, 1fr) !important;
  }

  .app:not(.sidebar-compact):not(.sidebar-hidden) .sidebar {
    width: 220px !important;
    min-width: 220px !important;
  }

  .accounting-control-list .control-card,
  .closing-list .closing-item,
  .rule-list .rule-item {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .accounting-control-list .control-card > *,
  .closing-list .closing-item > *,
  .rule-list .rule-item > * {
    grid-column: 1 !important;
  }

  .rule-list .workflow-actions,
  .closing-list .workflow-actions {
    justify-content: flex-start !important;
  }

  .accounting-context > .company-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .main {
    padding: 14px 12px 100px !important;
  }

  .metrics,
  .premium-metrics,
  .executive-grid,
  .accounting-dashboard-grid,
  .accounting-process-grid,
  .accounting-report-grid,
  .quick-grid,
  .folder-browser,
  .document-folder-list,
  .commercial-list,
  .pricing-overview-grid,
  .finance-totals-grid,
  .accounting-form,
  .commercial-form,
  .pricing-form,
  .tax-form,
  .document-upload-form,
  .finance-document-form,
  .accounting-actions,
  .client-access-form,
  .plan-form,
  .toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .panel-head,
  .section-head,
  .module-hero,
  .premium-hero {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .rule-list .workflow-actions,
  .closing-list .workflow-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .accounting-context > .company-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
  }
}

/* Planejamento Tributário premium: decisão clara, consultiva e responsiva */
#planejamento.active {
  display: grid !important;
  align-content: start !important;
  gap: 20px !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#planejamento .tax-premium-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 22px 24px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-left: 4px solid #C8A24A;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

#planejamento .tax-premium-header h2 {
  margin: 5px 0 6px;
  color: #1E293B;
  font-size: clamp(22px, 2.2vw, 32px);
  letter-spacing: 0;
}

#planejamento .tax-premium-header p {
  max-width: 760px;
  margin: 0;
  color: #64748B;
}

#planejamento .tax-premium-eyebrow,
#planejamento .tax-premium-detail {
  color: #8A6A16;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

#planejamento .tax-premium-detail {
  flex: 0 0 auto;
  padding: 8px 11px;
  background: #FFF8E7;
  border: 1px solid #E9D49C;
  border-radius: 8px;
}

#planejamento .tax-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

#planejamento .tax-kpi {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  min-height: 132px;
  padding: 18px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-top: 3px solid #2563EB;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}

#planejamento .tax-kpi-best {
  border-top-color: #C8A24A;
}

#planejamento .tax-kpi-risk {
  border-top-color: #EA580C;
}

#planejamento .tax-kpi span,
#planejamento .tax-kpi small {
  color: #64748B;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
}

#planejamento .tax-kpi strong {
  color: #1E293B;
  font-size: clamp(19px, 1.7vw, 27px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

#planejamento .tax-premium-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.65fr) minmax(360px, .85fr) !important;
  align-items: start !important;
  gap: 20px !important;
  width: 100% !important;
  min-height: 0 !important;
}

#planejamento .tax-premium-main,
#planejamento .tax-premium-aside {
  display: grid !important;
  align-content: start !important;
  gap: 20px !important;
  min-width: 0 !important;
}

#planejamento .tax-panel {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
}

#planejamento .panel-head {
  display: flex !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

#planejamento .panel-head h2 {
  color: #1E293B !important;
  font-size: 18px !important;
}

#planejamento .panel-head span {
  color: #64748B !important;
}

#planejamento .tax-form {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
  align-items: end !important;
  gap: 16px !important;
  padding: 20px !important;
}

#planejamento .tax-form label {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#planejamento .tax-form label:nth-child(1),
#planejamento .tax-form label:nth-child(2) {
  grid-column: span 2 !important;
}

#planejamento .tax-form input,
#planejamento .tax-form select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 9px !important;
}

#planejamento #calculateTaxPlan {
  width: 100% !important;
  min-height: 44px !important;
  background: #2563EB !important;
  color: #FFFFFF !important;
}

#planejamento .tax-results {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px !important;
}

#planejamento .tax-result-card {
  display: grid !important;
  align-content: start !important;
  gap: 14px !important;
  min-width: 0 !important;
  min-height: 260px !important;
  padding: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
}

#planejamento .tax-result-card.recommended {
  background: #F0FDF4 !important;
  border-color: #86EFAC !important;
  box-shadow: inset 0 4px 0 #16A34A !important;
}

#planejamento .tax-result-card strong,
#planejamento .tax-result-card p {
  color: #1E293B !important;
  overflow-wrap: anywhere;
}

#planejamento .tax-result-card span,
#planejamento .tax-result-card small {
  color: #64748B !important;
}

#planejamento .tax-best-panel {
  border-top: 3px solid #C8A24A !important;
}

#planejamento .tax-recommendation {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  min-height: 0 !important;
  padding: 20px !important;
  background: #FFFFFF !important;
  overflow: visible !important;
}

#planejamento .tax-recommendation > *,
#planejamento .tax-recommendation .tax-summary-grid {
  grid-column: 1 !important;
  grid-row: auto !important;
}

#planejamento .tax-decision-label {
  color: #8A6A16;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

#planejamento .tax-recommendation > strong {
  margin: 0 !important;
  color: #1E293B !important;
  font-size: clamp(27px, 3vw, 38px) !important;
  line-height: 1.1 !important;
}

#planejamento .tax-recommendation > p {
  max-width: none !important;
  margin: 0 0 6px !important;
  color: #64748B !important;
}

#planejamento .tax-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#planejamento .tax-summary-grid span {
  display: grid !important;
  align-content: start !important;
  gap: 5px !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 12px !important;
  background: #F8FAFC !important;
  color: #64748B !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 9px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  white-space: normal !important;
  overflow: visible !important;
}

#planejamento .tax-summary-grid strong {
  color: #1E293B !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
  white-space: normal !important;
  text-transform: none;
}

#planejamento .tax-cintia-panel {
  border-top: 3px solid #2563EB !important;
}

#planejamento .tax-cintia-analysis {
  display: grid !important;
  gap: 10px !important;
  padding: 18px !important;
}

#planejamento .tax-cintia-analysis article {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-left: 3px solid #2563EB;
  border-radius: 9px;
}

#planejamento .tax-cintia-analysis span {
  color: #64748B;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

#planejamento .tax-cintia-analysis strong {
  color: #1E293B;
  font-size: 13px;
  line-height: 1.45;
}

#planejamento .tax-cintia-analysis .tax-risk-alto {
  border-left-color: #DC2626;
}

#planejamento .tax-cintia-analysis .tax-risk-moderado {
  border-left-color: #EA580C;
}

#planejamento .tax-cintia-analysis .tax-risk-baixo {
  border-left-color: #16A34A;
}

#planejamento .tax-action-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  padding: 18px 18px 10px !important;
}

#planejamento .tax-action-grid button {
  width: 100% !important;
  min-height: 44px !important;
  color: #FFFFFF !important;
}

#planejamento #analyzeTaxWithCintia {
  background: #1E293B !important;
  border-color: #1E293B !important;
}

#planejamento #generateTaxOpinion {
  background: #16A34A !important;
  border-color: #16A34A !important;
}

#planejamento #exportTaxPdf {
  background: #64748B !important;
  border-color: #64748B !important;
}

#planejamento .tax-action-feedback {
  min-height: 20px;
  margin: 0;
  padding: 0 18px 18px;
  color: #166534;
  font-size: 12px;
  font-weight: 700;
}

#planejamento .tax-action-feedback[data-tone="error"] {
  color: #B91C1C;
}

#planejamento .tax-notes {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px !important;
}

#planejamento .tax-notes article {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 13px 14px !important;
  background: #FFF !important;
  border: 1px solid #E2E8F0 !important;
  border-left: 3px solid #C8A24A !important;
  border-radius: 9px !important;
}

#planejamento .tax-notes strong,
#planejamento .tax-notes p {
  color: #1E293B !important;
}

#planejamento canvas,
#planejamento .chart,
#planejamento .chart-container {
  min-height: 420px !important;
  background: #FFFFFF !important;
}

@media (max-width: 1420px) {
  #planejamento .tax-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #planejamento .tax-premium-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(330px, .8fr) !important;
  }

  #planejamento .tax-form {
    grid-template-columns: repeat(3, minmax(130px, 1fr)) !important;
  }

  #planejamento .tax-form label:nth-child(1),
  #planejamento .tax-form label:nth-child(2) {
    grid-column: span 3 !important;
  }

  #planejamento .tax-results {
    grid-template-columns: 1fr !important;
  }

  #planejamento .tax-result-card {
    min-height: 0 !important;
  }
}

@media (max-width: 1080px) {
  #planejamento .tax-premium-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #planejamento .tax-premium-aside {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
  }

  #planejamento .tax-recommendations-panel,
  #planejamento .tax-action-panel {
    grid-column: span 1;
  }

  #planejamento .tax-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #planejamento .tax-premium-header {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px;
  }

  #planejamento .tax-kpi-grid,
  #planejamento .tax-form,
  #planejamento .tax-premium-aside {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #planejamento .tax-form label:nth-child(1),
  #planejamento .tax-form label:nth-child(2) {
    grid-column: span 1 !important;
  }

  #planejamento .tax-recommendations-panel,
  #planejamento .tax-action-panel {
    grid-column: span 1;
  }

  #planejamento .tax-summary-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Financeiro premium - isolado dos módulos aprovados */
#financeiro.active {
  display: grid !important;
  align-content: start !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 0 80px !important;
  overflow: visible !important;
}

#financeiro .finance-premium-header,
#financeiro .finance-cintia-card,
#financeiro .finance-view .panel {
  width: 100% !important;
  min-width: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.055) !important;
  color: #1e293b !important;
}

#financeiro .finance-premium-header {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(520px, 1.25fr);
  align-items: end;
  gap: 24px;
  padding: 24px 26px;
  border-left: 4px solid #c8a24a !important;
}

#financeiro .finance-premium-eyebrow {
  margin: 0 0 6px;
  color: #8a6a16;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

#financeiro .finance-premium-header h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
  line-height: 1.12;
}

#financeiro .finance-premium-header p {
  max-width: 660px;
  margin: 8px 0 0;
  color: #64748b;
  line-height: 1.5;
}

#financeiro .finance-premium-actions {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(150px, 0.55fr) repeat(3, auto);
  align-items: end;
  gap: 10px;
  min-width: 0;
}

#financeiro .finance-premium-actions label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 800;
}

#financeiro .finance-premium-actions input,
#financeiro .finance-premium-actions select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #cbd5e1 !important;
}

#financeiro .finance-premium-actions button {
  min-height: 42px;
  color: #ffffff !important;
  white-space: nowrap;
}

#financeiro .finance-premium-actions .primary {
  background: #2563eb !important;
  border-color: #2563eb !important;
}

#financeiro .finance-premium-actions .secondary {
  background: #64748b !important;
  border-color: #64748b !important;
}

#financeiro .finance-premium-actions .access-result {
  grid-column: 1 / -1;
  margin: 0;
}

#financeiro .finance-premium-kpis {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100%;
  min-width: 0;
}

#financeiro .finance-kpi-card {
  --finance-accent: #2563eb;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-width: 0;
  min-height: 168px;
  height: 100%;
  padding: 18px;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid var(--finance-accent) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045) !important;
}

#financeiro .finance-kpi-card.tone-success {
  --finance-accent: #16a34a;
}

#financeiro .finance-kpi-card.tone-warning {
  --finance-accent: #ea580c;
}

#financeiro .finance-kpi-card.tone-danger {
  --finance-accent: #dc2626;
}

#financeiro .finance-kpi-card span {
  min-height: 32px;
  margin-bottom: 12px;
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1.3;
  text-transform: uppercase;
}

#financeiro .finance-kpi-card strong {
  display: block;
  margin: 0 0 16px;
  color: #0f172a;
  font-size: clamp(1.65rem, 2.2vw, 2.25rem);
  line-height: 1.1;
  overflow-wrap: anywhere;
}

#financeiro .finance-kpi-card small {
  display: block;
  margin-top: auto;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.4;
}

#financeiro > .toolbar {
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#financeiro .finance-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 11px !important;
}

#financeiro .finance-tabs button {
  min-height: 40px;
  background: #64748b !important;
  color: #ffffff !important;
  border: 0 !important;
  opacity: 1 !important;
}

#financeiro .finance-tabs button.active {
  background: #2563eb !important;
  color: #ffffff !important;
}

#financeiro .finance-view.active {
  display: grid !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#financeiro .finance-cintia-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.65fr) minmax(0, 1.35fr);
  align-items: start;
  gap: 20px;
  padding: 22px 24px;
  border-top: 3px solid #c8a24a !important;
}

#financeiro .finance-cintia-card span,
#financeiro .finance-cintia-item span {
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

#financeiro .finance-cintia-card h2 {
  margin: 6px 0;
  color: #0f172a;
  font-size: 1.2rem;
}

#financeiro .finance-cintia-card p,
#financeiro .finance-cintia-item p {
  margin: 0;
  color: #64748b;
  line-height: 1.45;
}

#financeiro .finance-cintia-recommendations {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-width: 0;
}

#financeiro .finance-cintia-item {
  min-width: 0;
  padding: 14px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #2563eb !important;
  border-radius: 9px !important;
}

#financeiro .finance-cintia-item.tone-danger {
  border-left-color: #dc2626 !important;
}

#financeiro .finance-cintia-item.tone-warning {
  border-left-color: #ea580c !important;
}

#financeiro .finance-cintia-item.tone-success {
  border-left-color: #16a34a !important;
}

#financeiro .finance-cintia-item strong {
  display: block;
  margin: 8px 0;
  color: #0f172a;
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

#financeiro .finance-premium-dashboard-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.75fr) !important;
  align-items: start;
  gap: 20px !important;
  width: 100%;
  min-width: 0;
}

#financeiro .finance-view .panel {
  padding: 0 !important;
  overflow: visible !important;
}

#financeiro .finance-view,
#financeiro .finance-charges-panel,
#financeiro .finance-charges-panel .accounting-control-list {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#financeiro .finance-view .panel-head {
  min-height: 68px !important;
  padding: 17px 20px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

#financeiro .finance-view .panel-head h2 {
  color: #0f172a !important;
}

#financeiro .finance-view .panel-head span {
  color: #64748b !important;
}

#financeiro #financeMovementCards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 18px !important;
}

#financeiro #financeMovementCards .executive-card {
  min-width: 0;
  padding: 17px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  color: #1e293b !important;
}

#financeiro #financeMovementCards .executive-card span,
#financeiro #financeMovementCards .executive-card p {
  color: #64748b !important;
}

#financeiro #financeMovementCards .executive-card strong {
  color: #0f172a !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  overflow-wrap: anywhere;
}

#financeiro #financeMovementCards .executive-card button {
  background: #64748b !important;
  color: #ffffff !important;
  border: 0 !important;
}

#financeiro #financeAlertList {
  display: grid;
  gap: 10px;
  padding: 16px;
}

#financeiro #financeAlertList .rule-item,
#financeiro .finance-empty-state {
  min-width: 0;
  padding: 15px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  color: #1e293b !important;
}

#financeiro #financeAlertList .rule-item strong,
#financeiro .finance-empty-state strong {
  color: #0f172a !important;
}

#financeiro #financeAlertList .rule-item p,
#financeiro .finance-empty-state p {
  color: #64748b !important;
}

#financeiro .finance-month-summary {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
  padding: 18px !important;
}

#financeiro .finance-month-summary article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 128px;
  padding: 16px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
}

#financeiro .finance-month-summary span {
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

#financeiro .finance-month-summary strong {
  margin: 10px 0;
  color: #0f172a;
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  overflow-wrap: anywhere;
}

#financeiro .finance-month-summary small {
  margin-top: auto;
  color: #64748b;
  line-height: 1.4;
}

#financeiro #financeChargeList {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 18px !important;
  width: 100%;
  min-width: 0;
}

#financeiro #financeChargeList .finance-charge-card {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.5fr) minmax(140px, 0.65fr) minmax(150px, 0.7fr) minmax(220px, 0.9fr) !important;
  gap: 18px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 20px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 11px !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04) !important;
  color: #1e293b !important;
}

#financeiro #financeChargeList .finance-charge-client,
#financeiro #financeChargeList .finance-charge-card > span,
#financeiro #financeChargeList .workflow-actions {
  display: grid !important;
  gap: 6px !important;
  min-width: 0;
}

#financeiro #financeChargeList .finance-charge-client > span,
#financeiro #financeChargeList .finance-charge-card b {
  color: #64748b !important;
  font-size: 0.68rem !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}

#financeiro #financeChargeList .finance-charge-client strong,
#financeiro #financeChargeList .finance-charge-card > span strong {
  color: #0f172a !important;
  overflow-wrap: anywhere;
}

#financeiro #financeChargeList .finance-charge-client small {
  color: #64748b !important;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#financeiro #financeChargeList .workflow-actions {
  grid-column: auto !important;
  padding: 0 !important;
  border: 0 !important;
}

#financeiro #financeChargeList .workflow-actions select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #cbd5e1 !important;
}

#financeiro #financeChargeList .account-row-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  padding-top: 15px !important;
  border-top: 1px solid #e2e8f0 !important;
}

#financeiro #financeChargeList .account-row-actions button {
  min-height: 38px;
  min-width: 110px;
  border: 0 !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

#financeiro #financeChargeList .account-row-actions .success {
  background: #16a34a !important;
}

#financeiro #financeChargeList .account-row-actions .secondary {
  background: #64748b !important;
}

#financeiro #financeChargeList .account-row-actions .warning {
  background: #ea580c !important;
}

#financeiro #financeChargeList .account-row-actions .danger {
  background: #dc2626 !important;
}

#financeiro .calendar-board {
  display: grid;
  gap: 10px;
  padding: 18px;
  background: #ffffff !important;
}

#financeiro .calendar-item {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-width: 0;
  padding: 15px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  color: #1e293b !important;
}

#financeiro .calendar-item time {
  padding: 10px;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  color: #1e293b !important;
  font-weight: 900;
  text-align: center;
}

#financeiro .calendar-item strong {
  color: #0f172a !important;
}

#financeiro .calendar-item p {
  color: #64748b !important;
}

#financeiro .accounting-form,
#financeiro .finance-document-form,
#financeiro .folder-browser,
#financeiro .accounting-report-grid {
  background: #ffffff !important;
  color: #1e293b !important;
}

#financeiro .accounting-form input,
#financeiro .accounting-form select,
#financeiro .finance-document-form input,
#financeiro .finance-document-form select {
  background: #ffffff !important;
  color: #1e293b !important;
  border-color: #cbd5e1 !important;
}

#financeiro #saveFinanceCharge,
#financeiro #archiveFinanceDocument {
  background: #2563eb !important;
  color: #ffffff !important;
  border: 0 !important;
}

#financeChargeModal {
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: 760px !important;
  max-height: calc(100vh - 32px) !important;
  overflow: auto !important;
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.2) !important;
}

#financeChargeModal::backdrop {
  background: rgba(15, 23, 42, 0.55) !important;
}

#financeChargeModal .finance-charge-modal {
  gap: 0;
  padding: 0 0 20px;
  background: #ffffff !important;
}

#financeChargeModal .panel-head {
  min-height: 72px;
  padding: 18px 22px !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

#financeChargeModal .panel-head h2 {
  margin: 0;
  color: #0f172a !important;
}

#financeChargeModal .panel-head span {
  color: #64748b !important;
}

#financeChargeModal .panel-head button {
  min-width: 40px;
  background: #475569 !important;
  color: #ffffff !important;
  border: 0 !important;
}

#financeChargeModal .finance-modal-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 22px;
}

#financeChargeModal .finance-modal-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 0;
  color: #475569;
  font-size: 0.76rem;
  font-weight: 800;
}

#financeChargeModal .finance-modal-wide {
  grid-column: 1 / -1;
}

#financeChargeModal input,
#financeChargeModal select {
  width: 100%;
  min-width: 0;
  min-height: 43px;
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #cbd5e1 !important;
}

#financeChargeModal menu {
  padding: 0 22px !important;
}

#financeChargeModal menu button {
  background: #475569 !important;
  color: #ffffff !important;
  border: 0 !important;
}

#financeChargeModal menu .primary {
  background: #2563eb !important;
}

@media (max-width: 1550px) {
  #financeiro .finance-premium-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #financeiro .finance-premium-actions {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
  }

  #financeiro .finance-premium-actions button {
    width: 100%;
  }

  #financeiro .finance-cintia-recommendations {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) {
  #financeiro .finance-premium-header,
  #financeiro .finance-cintia-card,
  #financeiro .finance-premium-dashboard-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #financeiro .finance-month-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #financeiro #financeChargeList .finance-charge-card {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #financeiro .finance-premium-header,
  #financeiro .finance-cintia-card {
    padding: 18px;
  }

  #financeiro .finance-premium-actions,
  #financeiro .finance-premium-kpis,
  #financeiro .finance-cintia-recommendations,
  #financeiro #financeMovementCards,
  #financeiro .finance-month-summary,
  #financeiro #financeChargeList .finance-charge-card,
  #financeiro .calendar-item {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #financeiro .finance-tabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  #financeiro .finance-tabs button,
  #financeiro #financeChargeList .account-row-actions button {
    width: 100%;
  }

  #financeiro #financeChargeList .account-row-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #financeChargeModal .finance-modal-form {
    grid-template-columns: minmax(0, 1fr);
    padding: 18px;
  }

  #financeChargeModal .finance-modal-wide {
    grid-column: 1;
  }
}

/* Dashboard executivo premium - isolado do Planejamento Tributário */
#visao-geral.active {
  display: grid !important;
  align-content: start !important;
  gap: 20px !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#visao-geral .dashboard-executive-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 24px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-left: 4px solid #C8A24A;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

#visao-geral .dashboard-executive-header h2 {
  margin: 5px 0 6px;
  color: #1E293B;
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing: 0;
}

#visao-geral .dashboard-executive-header p {
  max-width: 720px;
  margin: 0;
  color: #64748B;
}

#visao-geral .dashboard-executive-eyebrow {
  color: #8A6A16;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

#visao-geral .dashboard-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
  max-width: 520px;
}

#visao-geral .dashboard-header-actions button {
  min-height: 42px;
  color: #FFFFFF !important;
  white-space: nowrap;
}

#visao-geral .dashboard-header-actions .primary {
  background: #2563EB !important;
  border-color: #2563EB !important;
}

#visao-geral .dashboard-header-actions .secondary {
  background: #1E293B !important;
  border-color: #1E293B !important;
}

#visao-geral .dashboard-header-actions .warning {
  background: #EA580C !important;
  border-color: #EA580C !important;
}

#visao-geral .dashboard-executive-kpis {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

#visao-geral .dashboard-kpi-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
  min-height: 170px;
  height: 100%;
  padding: 18px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-top: 3px solid #2563EB;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}

#visao-geral .dashboard-kpi-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
  margin-bottom: 12px;
}

#visao-geral .dashboard-kpi-card i {
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #2563EB;
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 8px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

#visao-geral .dashboard-kpi-card span {
  color: #64748B;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
  text-transform: uppercase;
}

#visao-geral .dashboard-kpi-card strong {
  display: block;
  margin: 0 0 16px;
  color: #1E293B;
  font-size: clamp(28px, 2.4vw, 38px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

#visao-geral .dashboard-kpi-card small {
  display: block;
  margin-top: auto;
  color: #64748B;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: none;
}

#visao-geral .dashboard-kpi-card.kpi-revenue {
  border-top-color: #16A34A;
}

#visao-geral .dashboard-kpi-card.kpi-revenue i {
  color: #166534;
  background: #F0FDF4;
  border-color: #BBF7D0;
}

#visao-geral .dashboard-kpi-card.kpi-tasks,
#visao-geral .dashboard-kpi-card.kpi-critical {
  border-top-color: #EA580C;
}

#visao-geral .dashboard-kpi-card.kpi-tasks i,
#visao-geral .dashboard-kpi-card.kpi-critical i {
  color: #9A3412;
  background: #FFF7ED;
  border-color: #FED7AA;
}

#visao-geral .dashboard-kpi-card.kpi-documents {
  border-top-color: #C8A24A;
}

#visao-geral .dashboard-kpi-card.kpi-transmissions {
  border-top-color: #64748B;
}

#visao-geral .dashboard-cintia-executive {
  width: 100% !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-top: 3px solid #2563EB !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
}

#visao-geral .dashboard-cintia-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border-bottom: 1px solid #E2E8F0;
}

#visao-geral .dashboard-cintia-heading span {
  color: #2563EB;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

#visao-geral .dashboard-cintia-heading h2 {
  margin: 5px 0 4px;
  color: #1E293B;
  font-size: 21px;
}

#visao-geral .dashboard-cintia-heading p {
  margin: 0;
  color: #64748B;
  font-size: 13px;
}

#visao-geral .dashboard-cintia-heading button {
  flex: 0 0 auto;
  min-height: 42px;
  background: #1E293B !important;
  border-color: #1E293B !important;
  color: #FFFFFF !important;
}

#visao-geral .dashboard-cintia-priorities {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 18px !important;
}

#visao-geral .dashboard-cintia-item {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  min-height: 185px;
  padding: 15px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-left: 3px solid #2563EB;
  border-radius: 10px;
}

#visao-geral .dashboard-cintia-item.tone-danger {
  border-left-color: #DC2626;
}

#visao-geral .dashboard-cintia-item.tone-warning {
  border-left-color: #EA580C;
}

#visao-geral .dashboard-cintia-item.tone-success {
  border-left-color: #16A34A;
}

#visao-geral .dashboard-cintia-item span {
  color: #64748B;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

#visao-geral .dashboard-cintia-item strong {
  color: #1E293B;
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

#visao-geral .dashboard-cintia-item p {
  min-height: 42px;
  margin: 0 0 4px;
  color: #64748B;
  font-size: 12px;
  line-height: 1.45;
}

#visao-geral .dashboard-cintia-item button {
  align-self: end;
  width: 100%;
  min-height: 38px;
  margin-top: auto;
  background: #64748B !important;
  border-color: #64748B !important;
  color: #FFFFFF !important;
}

#visao-geral .dashboard-executive-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.65fr) minmax(350px, .75fr) !important;
  align-items: start !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
}

#visao-geral .dashboard-finance-panel,
#visao-geral .dashboard-agenda-panel,
#visao-geral .dashboard-activity-panel {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05) !important;
}

#visao-geral .panel-head {
  min-height: 66px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

#visao-geral .panel-head h2 {
  color: #1E293B !important;
}

#visao-geral .panel-head span {
  color: #64748B !important;
}

#visao-geral .finance-totals-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 18px 18px 0 !important;
}

#visao-geral .finance-totals-grid article {
  min-width: 0 !important;
  padding: 14px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
}

#visao-geral .finance-totals-grid span {
  color: #64748B !important;
}

#visao-geral .finance-totals-grid strong {
  color: #1E293B !important;
  overflow-wrap: anywhere;
}

#visao-geral .premium-line-chart,
#visao-geral .premium-bar-chart,
#visao-geral #dashboardEvolutionChart {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 420px !important;
  padding: 14px 18px 18px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
}

#visao-geral #dashboardEvolutionChart svg {
  display: block;
  width: 100% !important;
  min-height: 420px !important;
  background: #FFFFFF !important;
}

#visao-geral .dashboard-agenda-list {
  display: grid;
  gap: 10px;
  padding: 16px;
}

#visao-geral .dashboard-agenda-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 13px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-left: 3px solid #2563EB;
  border-radius: 9px;
}

#visao-geral .dashboard-agenda-item.tone-warning {
  border-left-color: #EA580C;
}

#visao-geral .dashboard-agenda-item.tone-danger {
  border-left-color: #DC2626;
}

#visao-geral .dashboard-agenda-item span,
#visao-geral .dashboard-agenda-item small {
  display: block;
  color: #64748B;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

#visao-geral .dashboard-agenda-item strong {
  display: block;
  margin: 4px 0;
  color: #1E293B;
  font-size: 13px;
  overflow-wrap: anywhere;
}

#visao-geral .dashboard-agenda-action {
  display: grid;
  justify-items: end;
  gap: 7px;
}

#visao-geral .dashboard-agenda-action time {
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}

#visao-geral .dashboard-agenda-action button {
  min-height: 34px;
  padding: 7px 10px;
  background: #64748B !important;
  border-color: #64748B !important;
  color: #FFFFFF !important;
}

#visao-geral .dashboard-recent-list {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 18px !important;
}

#visao-geral .dashboard-recent-list article {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  padding: 14px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 9px;
}

#visao-geral .dashboard-recent-status {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  background: #2563EB;
  border-radius: 50%;
}

#visao-geral .dashboard-recent-status.status-concluida {
  background: #16A34A;
}

#visao-geral .dashboard-recent-status.status-pendente {
  background: #EA580C;
}

#visao-geral .dashboard-recent-list strong {
  display: block;
  color: #1E293B;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#visao-geral .dashboard-recent-list small {
  display: block;
  margin-top: 5px;
  color: #64748B;
  font-size: 10px;
  line-height: 1.4;
}

@media (max-width: 1500px) {
  #visao-geral .dashboard-executive-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #visao-geral .dashboard-cintia-priorities {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #visao-geral .dashboard-recent-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1120px) {
  #visao-geral .dashboard-executive-header,
  #visao-geral .dashboard-cintia-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  #visao-geral .dashboard-header-actions {
    justify-content: flex-start;
    max-width: none;
  }

  #visao-geral .dashboard-executive-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #visao-geral .dashboard-agenda-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #visao-geral .dashboard-executive-kpis,
  #visao-geral .dashboard-cintia-priorities,
  #visao-geral .dashboard-agenda-list,
  #visao-geral .dashboard-recent-list,
  #visao-geral .finance-totals-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #visao-geral .dashboard-header-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  #visao-geral .dashboard-header-actions button {
    width: 100%;
  }

  #visao-geral .dashboard-agenda-item {
    grid-template-columns: minmax(0, 1fr);
  }

  #visao-geral .dashboard-agenda-action {
    justify-items: start;
  }

  #visao-geral .dashboard-agenda-action time {
    text-align: left;
  }
}
/* Dashboard executivo premium */
#visao-geral.active {
  display: grid !important;
  gap: 20px !important;
  align-content: start !important;
  min-width: 0;
  padding-bottom: 32px;
}

#visao-geral .dashboard-executive-header,
#visao-geral .dashboard-cintia-executive,
#visao-geral .dashboard-finance-panel,
#visao-geral .dashboard-agenda-panel,
#visao-geral .dashboard-activity-panel {
  width: 100%;
  min-width: 0;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
  color: #1e293b !important;
}

#visao-geral .dashboard-executive-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 26px;
  border-left: 4px solid #c8a24a !important;
}

#visao-geral .dashboard-executive-eyebrow {
  margin: 0 0 6px;
  color: #a07822;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

#visao-geral .dashboard-executive-header h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.55rem, 2.4vw, 2.2rem);
}

#visao-geral .dashboard-executive-header p {
  margin: 7px 0 0;
  color: #64748b;
}

#visao-geral .dashboard-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

#visao-geral .dashboard-header-actions button {
  min-height: 42px;
  border: 0 !important;
  color: #ffffff !important;
  font-weight: 800;
  opacity: 1 !important;
}

#visao-geral #dashboardNewTask,
#visao-geral #dashboardNewClient {
  background: #2563eb !important;
}

#visao-geral .dashboard-header-actions .secondary {
  background: #1e293b !important;
}

#visao-geral .dashboard-header-actions .warning {
  background: #ea580c !important;
}

#visao-geral .dashboard-executive-kpis {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100%;
  min-width: 0;
}

#visao-geral .dashboard-kpi-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
  min-height: 170px;
  height: 100%;
  padding: 18px;
  overflow: hidden;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid var(--kpi-accent, #2563eb) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05) !important;
  color: #1e293b !important;
}

#visao-geral .dashboard-kpi-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
  margin-bottom: 12px;
}

#visao-geral .dashboard-kpi-card.kpi-revenue,
#visao-geral .dashboard-kpi-card.kpi-clients {
  --kpi-accent: #16a34a;
}

#visao-geral .dashboard-kpi-card.kpi-tasks,
#visao-geral .dashboard-kpi-card.kpi-documents {
  --kpi-accent: #ea580c;
}

#visao-geral .dashboard-kpi-card.kpi-critical {
  --kpi-accent: #dc2626;
}

#visao-geral .dashboard-kpi-card i {
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 9px;
  background: #eff6ff;
  color: var(--kpi-accent, #2563eb);
  font-size: 1.15rem;
}

#visao-geral .dashboard-kpi-card span {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
}

#visao-geral .dashboard-kpi-card strong {
  display: block;
  min-width: 0;
  margin: 0 0 16px;
  color: #0f172a;
  font-size: clamp(1.75rem, 2.4vw, 2.35rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

#visao-geral .dashboard-kpi-card small {
  display: block;
  margin-top: auto;
  color: #64748b;
  line-height: 1.4;
}

#visao-geral .dashboard-cintia-executive {
  padding: 22px 24px;
  border-top: 3px solid #c8a24a !important;
}

#visao-geral .dashboard-cintia-heading,
#visao-geral .dashboard-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

#visao-geral .dashboard-cintia-heading h3,
#visao-geral .dashboard-panel-heading h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
}

#visao-geral .dashboard-cintia-heading p,
#visao-geral .dashboard-panel-heading p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 0.86rem;
}

#visao-geral .dashboard-cintia-priorities {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#visao-geral .dashboard-cintia-item {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #2563eb !important;
  border-radius: 10px !important;
}

#visao-geral .dashboard-cintia-item.tone-danger {
  border-left-color: #dc2626 !important;
}

#visao-geral .dashboard-cintia-item.tone-warning {
  border-left-color: #ea580c !important;
}

#visao-geral .dashboard-cintia-item.tone-success {
  border-left-color: #16a34a !important;
}

#visao-geral .dashboard-cintia-item strong {
  color: #0f172a;
  line-height: 1.3;
}

#visao-geral .dashboard-cintia-item p {
  margin: 0;
  color: #64748b;
  line-height: 1.45;
}

#visao-geral .dashboard-cintia-item button {
  justify-self: start;
  margin-top: 4px;
  background: #1e293b !important;
  color: #ffffff !important;
  border: 0 !important;
  opacity: 1 !important;
}

#visao-geral .dashboard-executive-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.65fr) minmax(340px, 0.75fr) !important;
  align-items: start;
  gap: 20px !important;
  width: 100%;
  min-width: 0;
}

#visao-geral .dashboard-finance-panel,
#visao-geral .dashboard-agenda-panel,
#visao-geral .dashboard-activity-panel {
  overflow: hidden;
}

#visao-geral .dashboard-finance-panel,
#visao-geral .dashboard-agenda-panel {
  padding: 22px;
}

#visao-geral .finance-totals-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 16px;
}

#visao-geral .finance-totals-grid article {
  min-width: 0;
  padding: 14px 16px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
}

#visao-geral .finance-totals-grid span {
  display: block;
  margin-bottom: 5px;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

#visao-geral .finance-totals-grid strong {
  display: block;
  color: #0f172a;
  font-size: clamp(1.05rem, 1.7vw, 1.45rem);
  overflow-wrap: anywhere;
}

#visao-geral #dashboardEvolutionChart {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 420px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
}

#visao-geral #dashboardEvolutionChart svg {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 420px !important;
  height: auto;
  background: #ffffff !important;
}

#visao-geral .dashboard-agenda-list,
#visao-geral .dashboard-recent-list {
  display: grid !important;
  gap: 10px !important;
  min-width: 0;
}

#visao-geral .dashboard-agenda-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 14px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #2563eb !important;
  border-radius: 10px !important;
}

#visao-geral .dashboard-agenda-item.tone-danger {
  border-left-color: #dc2626 !important;
}

#visao-geral .dashboard-agenda-item.tone-warning {
  border-left-color: #ea580c !important;
}

#visao-geral .dashboard-agenda-item.tone-success {
  border-left-color: #16a34a !important;
}

#visao-geral .dashboard-agenda-item strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
}

#visao-geral .dashboard-agenda-item p {
  margin: 0;
  color: #64748b;
  line-height: 1.4;
}

#visao-geral .dashboard-agenda-action {
  display: grid;
  justify-items: end;
  gap: 7px;
}

#visao-geral .dashboard-agenda-action button {
  background: #64748b !important;
  color: #ffffff !important;
  border: 0 !important;
}

#visao-geral .dashboard-activity-panel {
  padding: 22px;
}

#visao-geral .dashboard-recent-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#visao-geral .dashboard-recent-list article {
  min-width: 0;
  padding: 15px 16px;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
}

#visao-geral .dashboard-recent-list strong {
  display: block;
  margin-bottom: 5px;
  color: #0f172a;
}

#visao-geral .dashboard-recent-list p,
#visao-geral .dashboard-recent-list small {
  margin: 0;
  color: #64748b;
  line-height: 1.4;
}

@media (max-width: 1500px) {
  #visao-geral .dashboard-executive-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #visao-geral .dashboard-cintia-priorities {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1120px) {
  #visao-geral .dashboard-executive-header {
    align-items: flex-start;
    flex-direction: column;
  }

  #visao-geral .dashboard-header-actions {
    justify-content: flex-start;
  }

  #visao-geral .dashboard-executive-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #visao-geral .dashboard-recent-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #visao-geral .dashboard-executive-header,
  #visao-geral .dashboard-cintia-executive,
  #visao-geral .dashboard-finance-panel,
  #visao-geral .dashboard-agenda-panel,
  #visao-geral .dashboard-activity-panel {
    padding: 17px;
  }

  #visao-geral .dashboard-executive-kpis,
  #visao-geral .dashboard-cintia-priorities,
  #visao-geral .finance-totals-grid,
  #visao-geral .dashboard-recent-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #visao-geral .dashboard-header-actions {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  #visao-geral .dashboard-header-actions button {
    width: 100%;
  }

  #visao-geral .dashboard-cintia-heading,
  #visao-geral .dashboard-panel-heading,
  #visao-geral .dashboard-agenda-item {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
  }

  #visao-geral .dashboard-cintia-heading,
  #visao-geral .dashboard-panel-heading {
    flex-direction: column;
  }

  #visao-geral .dashboard-agenda-action {
    justify-items: start;
  }

  #visao-geral #dashboardEvolutionChart,
  #visao-geral #dashboardEvolutionChart svg {
    min-height: 360px !important;
  }
}

/* Fase 4 - Fiscal premium */
#fiscal {
  display: none;
  gap: 22px;
  width: 100%;
  max-width: none;
  overflow-x: hidden;
}

#fiscal.active {
  display: grid;
}

#fiscal .fiscal-premium-header,
#fiscal .panel,
#fiscal .fiscal-cintia-card,
#fiscal .fiscal-kpi-card,
#fiscal .fiscal-empty-state,
#fiscal .control-card,
#fiscal .process-card,
#fiscal .transmission-card,
#fiscal .folder-card,
#fiscal .report-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06) !important;
}

#fiscal .fiscal-premium-header {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(520px, 1.35fr);
  gap: 22px;
  align-items: stretch;
  padding: 26px;
  border-radius: 18px;
}

#fiscal .fiscal-eyebrow {
  margin: 0 0 8px;
  color: #2563eb;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#fiscal .fiscal-premium-header h2 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: clamp(1.65rem, 2.5vw, 2.45rem);
  line-height: 1.08;
}

#fiscal .fiscal-premium-header p,
#fiscal .fiscal-premium-header small,
#fiscal .panel-head span,
#fiscal .fiscal-empty-state p {
  color: #64748b !important;
}

#fiscal #activeFiscalCompanyName {
  display: block;
  margin-top: 22px;
  color: #1e293b;
  font-size: 1.1rem;
}

#fiscal #activeFiscalCompanyCnpj,
#fiscal #fiscalCompanyRule {
  display: block;
  margin-top: 5px;
}

#fiscal .fiscal-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-content: start;
  min-width: 0;
}

#fiscal .fiscal-actions label,
#fiscal .transmission-card label,
#fiscal .status-control {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

#fiscal input,
#fiscal select,
#fiscal textarea {
  min-width: 0;
  width: 100%;
  height: 42px;
  color: #0f172a;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 0 12px;
  font-weight: 700;
}

#fiscal .fiscal-actions .access-result {
  grid-column: 1 / -1;
  margin: 0;
}

#fiscal button,
#fiscal .primary,
#fiscal .secondary,
#fiscal .success,
#fiscal .warning,
#fiscal .danger {
  min-height: 40px;
  border: 0 !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

#fiscal .primary { background: #2563eb !important; }
#fiscal .secondary { background: #64748b !important; }
#fiscal .success { background: #16a34a !important; }
#fiscal .warning { background: #ea580c !important; }
#fiscal .danger { background: #dc2626 !important; }

#fiscal .fiscal-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 14px;
}

#fiscal .fiscal-kpi-card {
  display: flex;
  min-height: 138px;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border-left: 4px solid #2563eb !important;
  border-radius: 16px;
}

#fiscal .fiscal-kpi-card.tone-green { border-left-color: #16a34a !important; }
#fiscal .fiscal-kpi-card.tone-amber,
#fiscal .fiscal-kpi-card.tone-gold { border-left-color: #ea580c !important; }
#fiscal .fiscal-kpi-card.tone-purple { border-left-color: #7c3aed !important; }
#fiscal .fiscal-kpi-card.tone-red { border-left-color: #dc2626 !important; }

#fiscal .fiscal-kpi-card span {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

#fiscal .fiscal-kpi-card strong {
  color: #0f172a;
  font-size: clamp(1.7rem, 2.6vw, 2.35rem);
  line-height: 1;
  overflow-wrap: anywhere;
}

#fiscal .fiscal-kpi-card small {
  color: #64748b;
  font-weight: 700;
}

#fiscal .toolbar {
  margin: 0;
}

#fiscal .fiscal-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#fiscal .fiscal-tabs button {
  background: #64748b !important;
  color: #ffffff !important;
}

#fiscal .fiscal-tabs button.active {
  background: #2563eb !important;
  color: #ffffff !important;
}

#fiscal .fiscal-view {
  display: none;
}

#fiscal .fiscal-view.active {
  display: grid;
  gap: 20px;
}

#fiscal .fiscal-cintia-card {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(420px, 1.25fr);
  gap: 20px;
  padding: 24px;
  border-left: 4px solid #c8a24a !important;
  border-radius: 18px;
}

#fiscal .fiscal-cintia-card span {
  color: #7c3aed;
  font-weight: 900;
  text-transform: uppercase;
}

#fiscal .fiscal-cintia-card h2,
#fiscal .panel-head h2,
#fiscal .fiscal-empty-state strong {
  color: #0f172a;
}

#fiscal .fiscal-cintia-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#fiscal .fiscal-cintia-item {
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #2563eb;
  border-radius: 12px;
  background: #f8fafc;
}

#fiscal .fiscal-cintia-item.tone-warning { border-left-color: #ea580c; }
#fiscal .fiscal-cintia-item.tone-danger { border-left-color: #dc2626; }
#fiscal .fiscal-cintia-item.tone-success { border-left-color: #16a34a; }

#fiscal .fiscal-cintia-item strong {
  display: block;
  color: #0f172a;
}

#fiscal .fiscal-cintia-item p {
  margin: 6px 0 0;
  color: #64748b;
}

#fiscal .fiscal-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  gap: 20px;
}

#fiscal .panel {
  min-width: 0;
  padding: 22px;
  border-radius: 18px;
  overflow: visible !important;
}

#fiscal .panel-head {
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e2e8f0;
}

#fiscal .fiscal-routine-list,
#fiscal .fiscal-wide-list,
#fiscal .accounting-process-grid,
#fiscal .fiscal-transmission-board,
#fiscal .fiscal-folder-browser,
#fiscal .accounting-report-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
}

#fiscal .fiscal-routine-card,
#fiscal .control-card,
#fiscal .process-card,
#fiscal .transmission-card,
#fiscal .folder-card,
#fiscal .report-card {
  min-width: 0;
  padding: 18px;
  border-radius: 15px;
  overflow: visible !important;
}

#fiscal .fiscal-routine-card,
#fiscal .control-card.fiscal-document-row,
#fiscal .transmission-card {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) repeat(3, minmax(125px, 0.45fr)) minmax(250px, 0.75fr);
  align-items: center;
  gap: 16px;
}

#fiscal .fiscal-routine-card {
  grid-template-columns: minmax(300px, 1fr) minmax(260px, auto);
}

#fiscal .transmission-card {
  grid-template-columns: minmax(320px, 1fr) minmax(180px, 0.35fr) minmax(320px, 0.75fr);
}

#fiscal .fiscal-routine-main strong,
#fiscal .control-card strong,
#fiscal .process-card strong,
#fiscal .transmission-card strong,
#fiscal .folder-card strong,
#fiscal .report-card strong {
  color: #0f172a;
}

#fiscal .fiscal-routine-main p,
#fiscal .control-card p,
#fiscal .process-card p,
#fiscal .transmission-card small,
#fiscal .folder-card p,
#fiscal .report-card p {
  color: #64748b;
}

#fiscal .control-card > span,
#fiscal .fiscal-summary-strip article {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #0f172a;
  font-weight: 900;
}

#fiscal .control-card > span b,
#fiscal .fiscal-summary-strip span {
  color: #64748b;
  font-size: 0.72rem;
  text-transform: uppercase;
}

#fiscal .control-actions,
#fiscal .workflow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

#fiscal .status-control {
  width: min(190px, 100%);
}

#fiscal .status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

#fiscal .fiscal-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

#fiscal .fiscal-summary-strip article {
  padding: 15px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}

#fiscal .fiscal-empty-state {
  padding: 26px;
  border-radius: 16px;
  text-align: left;
}

#fiscal .folder-documents {
  display: grid;
  gap: 10px;
}

#fiscal .folder-documents span {
  display: grid;
  gap: 7px;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}

#fiscalDocumentModal::backdrop {
  background: rgba(15, 23, 42, 0.45);
}

#fiscalDocumentModal .modal {
  width: min(820px, calc(100vw - 32px));
  max-width: 820px;
  padding: 22px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  color: #0f172a;
}

#fiscalDocumentModal .fiscal-modal-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#fiscalDocumentModal .fiscal-modal-wide {
  grid-column: 1 / -1;
}

#fiscalDocumentModal label {
  display: grid;
  gap: 7px;
  color: #475569;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

#fiscalDocumentModal input,
#fiscalDocumentModal select {
  height: 42px;
  padding: 0 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
}

#fiscalDocumentModal menu {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
}

#fiscalDocumentModal button {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  padding: 0 16px;
  font-weight: 900;
}

#fiscalDocumentModal button:not(.primary) {
  background: #64748b;
  color: #ffffff;
}

@media (max-width: 1380px) {
  #fiscal .fiscal-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #fiscal .fiscal-routine-card,
  #fiscal .control-card.fiscal-document-row,
  #fiscal .transmission-card {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  #fiscal .control-actions,
  #fiscal .workflow-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 1120px) {
  #fiscal .fiscal-premium-header,
  #fiscal .fiscal-cintia-card,
  #fiscal .fiscal-dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  #fiscal .fiscal-premium-header,
  #fiscal .panel,
  #fiscal .fiscal-cintia-card {
    padding: 17px;
  }

  #fiscal .fiscal-actions,
  #fiscal .fiscal-kpi-grid,
  #fiscal .fiscal-cintia-list,
  #fiscal .fiscal-summary-strip,
  #fiscalDocumentModal .fiscal-modal-form {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* FASE 5 - Contábil premium */
#contabil {
  color: #172033;
}

#contabil .accounting-context {
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}

#contabil .company-card,
#contabil .metric,
#contabil .panel,
#contabil .executive-card,
#contabil .process-card,
#contabil .report-card,
#contabil .folder-card,
#contabil .accounting-premium-kpi,
#contabil .accounting-company-summary,
#contabil .accounting-cintia-panel,
#contabil .accounting-empty-state,
#contabil .closing-flow-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .07) !important;
  color: #172033 !important;
}

#contabil .accounting-context > .company-card {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.25fr) repeat(4, minmax(150px, .75fr)) !important;
  min-height: 0 !important;
  padding: 14px 18px !important;
  gap: 10px 18px !important;
  align-items: center !important;
}

#contabil .accounting-context > .company-card span,
#contabil .metric span,
#contabil .accounting-premium-kpi span,
#contabil .accounting-cintia-panel > span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#contabil .accounting-context > .company-card strong {
  color: #0f172a !important;
  font-size: clamp(20px, 1.8vw, 26px) !important;
  line-height: 1.1 !important;
}

#contabil .accounting-company-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}

#contabil .accounting-context > .company-card small {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  padding: 8px 10px !important;
  font-weight: 900 !important;
}

#contabil .accounting-context > .company-card small,
#contabil .panel-head span,
#contabil .accounting-premium-kpi p,
#contabil .accounting-company-summary p,
#contabil .accounting-cintia-panel p,
#contabil .closing-flow-body p,
#contabil .accounting-empty-state p {
  color: #52637a !important;
}

#contabil .accounting-actions {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 14px !important;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .06) !important;
}

#contabil input,
#contabil select,
#contabil textarea {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  border-radius: 12px !important;
  min-height: 44px !important;
}

#contabil .accounting-metrics {
  grid-template-columns: repeat(6, minmax(150px, 1fr)) !important;
  gap: 14px !important;
}

#contabil .metric {
  display: flex !important;
  flex-direction: column !important;
  min-height: 142px !important;
  padding: 18px !important;
  gap: 12px !important;
}

#contabil .metric strong {
  color: #0f172a !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1 !important;
}

#contabil .toolbar {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 14px 0 !important;
}

#contabil .accounting-tabs {
  gap: 10px !important;
}

#contabil .accounting-tabs button {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #1e293b !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-weight: 900 !important;
}

#contabil .accounting-tabs button.active {
  background: #1e293b !important;
  border-color: #1e293b !important;
  color: #ffffff !important;
}

#contabil .accounting-dashboard-grid {
  grid-template-columns: repeat(6, minmax(150px, 1fr)) !important;
  gap: 14px !important;
}

#contabil .accounting-premium-kpi {
  display: flex !important;
  flex-direction: column !important;
  min-height: 150px !important;
  padding: 18px !important;
  gap: 12px !important;
}

#contabil .accounting-premium-kpi strong {
  font-size: clamp(34px, 3vw, 48px) !important;
  line-height: 1 !important;
  color: #0f172a !important;
}

#contabil .accounting-company-summary {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 22px !important;
}

#contabil .accounting-company-summary strong {
  display: block !important;
  margin: 8px 0 !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  color: #0f172a !important;
}

#contabil .accounting-company-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-end !important;
}

#contabil .accounting-cintia-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 20px !important;
  border-left: 4px solid #c8a24a !important;
}

#contabil .accounting-cintia-panel div {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 14px !important;
}

#contabil .accounting-cintia-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 2px !important;
}

#contabil .accounting-cintia-actions button {
  min-height: 42px !important;
  padding: 10px 14px !important;
}

#contabil .report-card.featured-report {
  border-left: 5px solid #2563eb !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
}

#contabil .report-card.secondary-report {
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04) !important;
}

#contabil .report-priority {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  background: #dbeafe !important;
  color: #1d4ed8 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

#contabil .report-priority.secondary {
  background: #f1f5f9 !important;
  color: #64748b !important;
}

#contabil .accounting-cintia-panel strong,
#contabil .accounting-flow-preview strong,
#contabil .closing-flow-card strong {
  color: #0f172a !important;
}

#contabil .accounting-row {
  display: grid !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 64px !important;
  padding: 14px 16px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  color: #172033 !important;
}

#contabil .accounting-row-compact {
  grid-template-columns: minmax(150px, .9fr) minmax(220px, 1.4fr) repeat(3, minmax(120px, .75fr)) !important;
}

#contabil #accountChartTable .accounting-row-compact {
  grid-template-columns: minmax(170px, 1fr) minmax(220px, 1.25fr) minmax(140px, .8fr) minmax(90px, .5fr) minmax(110px, .6fr) minmax(190px, .9fr) !important;
}

#contabil .accounting-row-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}

#contabil .accounting-row-head span,
#contabil .accounting-row-head strong,
#contabil .accounting-row-head em,
#contabil .accounting-row-head b {
  color: #64748b !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#contabil .accounting-table {
  display: grid !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding-bottom: 6px !important;
  max-width: 100% !important;
}

#contabil #accounting-view-accounts .accounting-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

#contabil #accountChartTable .accounting-row {
  min-width: 1040px !important;
  max-width: 100% !important;
}

#contabil #accountChartTable .accounting-row-compact {
  grid-template-columns:
    minmax(150px, .9fr)
    minmax(260px, 1.7fr)
    minmax(130px, .8fr)
    minmax(100px, .55fr)
    minmax(110px, .6fr)
    minmax(190px, .8fr) !important;
}

#contabil #accountChartTable .accounting-row span,
#contabil #accountChartTable .accounting-row strong,
#contabil #accountChartTable .accounting-row em,
#contabil #accountChartTable .accounting-row b {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#contabil #accountChartTable .account-row-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  white-space: normal !important;
}

#contabil .annual-chart-card,
#contabil #accountingEvolutionChart {
  width: 100% !important;
  min-height: 420px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .06) !important;
  overflow: hidden !important;
}

#contabil #accountingEvolutionChart {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  padding: 18px !important;
}

#contabil #accountingEvolutionChart .chart-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: center !important;
  color: #334155 !important;
  font-weight: 900 !important;
}

#contabil #accountingEvolutionChart svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 360px !important;
  background: #ffffff !important;
}

#contabil #accountingEvolutionChart .chart-grid line {
  stroke: #e2e8f0 !important;
  stroke-width: 1 !important;
}

#contabil #accountingEvolutionChart .month-labels text {
  fill: #475569 !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}

#contabil #accountingEvolutionChart .bar-value-label {
  display: none !important;
}

#contabil .book-signature-box,
#contabil #accountingBookTermList {
  overflow: visible !important;
}

#contabil #accountingBookTermList {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

#contabil .book-term-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 0 !important;
  padding: 16px !important;
  overflow: visible !important;
}

#contabil .book-term-copy {
  min-width: 0 !important;
}

#contabil .book-term-copy strong,
#contabil .book-term-copy p,
#contabil .book-term-copy small {
  display: block !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}

#contabil .book-term-copy p {
  margin-top: 6px !important;
  white-space: normal !important;
}

#contabil .book-term-copy small {
  margin-top: 8px !important;
  color: #64748b !important;
  font-weight: 800 !important;
}

#contabil .book-term-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  position: static !important;
}

#contabil .accounting-entry-card,
#contabil .book-entry,
#contabil .book-account,
#contabil .control-card,
#contabil .rule-item {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  color: #172033 !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .05) !important;
}

#contabil .closing-flow-card {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .05) !important;
}

#contabil .closing-flow-marker {
  width: 22px !important;
  height: 22px !important;
  border-radius: 999px !important;
  border: 3px solid #f59e0b !important;
  background: #fff7ed !important;
}

#contabil .closing-flow-marker.done {
  border-color: #16a34a !important;
  background: #dcfce7 !important;
}

#contabil .closing-flow-marker.review {
  border-color: #2563eb !important;
  background: #dbeafe !important;
}

#contabil .accounting-empty-state {
  padding: 28px !important;
  min-height: 120px !important;
}

#contabil .accounting-empty-state strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 20px !important;
  margin-bottom: 8px !important;
}

#contabil .btn-primary,
#contabil .primary-action,
#contabil button.primary {
  background: #2563eb !important;
  color: #ffffff !important;
  border: 0 !important;
}

#contabil .btn-secondary,
#contabil .secondary-action,
#contabil .mini-action,
#contabil button.secondary {
  background: #1e293b !important;
  color: #ffffff !important;
  border: 0 !important;
}

#contabil .btn-success,
#contabil .success-action {
  background: #16a34a !important;
  color: #ffffff !important;
  border: 0 !important;
}

#contabil .btn-warning,
#contabil .warning-action {
  background: #ea580c !important;
  color: #ffffff !important;
  border: 0 !important;
}

#contabil .danger-action,
#contabil .btn-danger {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: 0 !important;
}

#contabil button:disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

#contabil .mini-action.primary-action,
#contabil .btn-primary {
  background: #2563eb !important;
  color: #ffffff !important;
}

#contabil .mini-action.success-action,
#contabil .btn-success {
  background: #16a34a !important;
  color: #ffffff !important;
}

#contabil .mini-action.warning-action,
#contabil .btn-warning {
  background: #ea580c !important;
  color: #ffffff !important;
}

#contabil .mini-action.danger-action,
#contabil .btn-danger {
  background: #dc2626 !important;
  color: #ffffff !important;
}

@media (max-width: 1180px) {
  #contabil .accounting-metrics,
  #contabil .accounting-dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #contabil .accounting-context > .company-card,
  #contabil .accounting-company-summary {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  #contabil .accounting-metrics,
  #contabil .accounting-dashboard-grid {
    grid-template-columns: 1fr !important;
  }

  #contabil .accounting-row,
  #contabil .accounting-row-compact,
  #contabil #accountChartTable .accounting-row-compact,
  #contabil .closing-flow-card {
    grid-template-columns: 1fr !important;
  }
}

/* FASE 6 - Departamento Pessoal premium */
#pessoal {
  --dp-text: #1e293b;
  --dp-muted: #64748b;
  --dp-border: #e2e8f0;
  --dp-soft: #f8fafc;
  --dp-primary: #2563eb;
  --dp-secondary: #1e293b;
  --dp-success: #16a34a;
  --dp-warning: #ea580c;
  --dp-danger: #dc2626;
}

#pessoal .accounting-context {
  margin-bottom: 18px !important;
}

#pessoal .accounting-context > .company-card {
  grid-template-columns: minmax(150px, .35fr) minmax(220px, .85fr) minmax(180px, .65fr) minmax(260px, 1fr) !important;
  min-height: 0 !important;
  padding: 14px 18px !important;
  background: #ffffff !important;
  border: 1px solid var(--dp-border) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07) !important;
  align-items: center !important;
  gap: 14px !important;
}

#pessoal .accounting-context > .company-card strong {
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

#pessoal .accounting-context > .company-card span,
#pessoal .accounting-context > .company-card small {
  margin: 0 !important;
  line-height: 1.35 !important;
}

#pessoal .metrics.accounting-metrics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  margin-bottom: 18px !important;
}

#pessoal .metric,
#pessoal .personnel-kpi,
#pessoal .personnel-wide-card,
#pessoal .process-card,
#pessoal .report-card,
#pessoal .folder-card,
#pessoal .control-card,
#pessoal .rule-item,
#pessoal .closing-item,
#pessoal .personnel-payroll-card,
#pessoal .personnel-empty-state {
  background: #ffffff !important;
  border: 1px solid var(--dp-border) !important;
  color: var(--dp-text) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .06) !important;
}

#pessoal .metric {
  min-height: 138px !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

#pessoal .metric span,
#pessoal .personnel-kpi span,
#pessoal .personnel-wide-card span {
  color: var(--dp-muted) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

#pessoal .metric strong,
#pessoal .personnel-kpi strong {
  color: var(--dp-text) !important;
  font-size: clamp(28px, 3.5vw, 42px) !important;
  line-height: 1.05 !important;
  margin: 8px 0 !important;
}

#pessoal .personnel-kpi {
  min-height: 210px !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

#pessoal .personnel-kpi p,
#pessoal .personnel-wide-card p,
#pessoal .personnel-payroll-card p,
#pessoal .process-card p,
#pessoal .report-card p,
#pessoal .folder-card p,
#pessoal .control-card p,
#pessoal .rule-item p,
#pessoal .closing-item p,
#pessoal .personnel-empty-state p {
  color: var(--dp-muted) !important;
  line-height: 1.5 !important;
}

#pessoal .personnel-kpi .mini-action {
  margin-top: auto !important;
}

#pessoal .personnel-wide-card {
  grid-column: 1 / -1 !important;
  min-height: 150px !important;
  padding: 22px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
}

#pessoal .personnel-wide-card strong {
  display: block !important;
  color: var(--dp-text) !important;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  margin: 8px 0 !important;
}

#pessoal .personnel-ai-card {
  border-left: 5px solid #c8a24a !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}

#pessoal .accounting-dashboard-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#pessoal .accounting-control-list .control-card,
#pessoal .closing-list .closing-item,
#pessoal .rule-list .rule-item {
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, auto) !important;
  align-items: center !important;
  padding: 20px !important;
}

#pessoal .closing-list .closing-item {
  grid-template-columns: 44px minmax(0, 1.3fr) minmax(300px, auto) !important;
}

#pessoal .accounting-control-list .control-card > span {
  background: var(--dp-soft) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 14px !important;
  color: var(--dp-text) !important;
  padding: 12px 14px !important;
}

#pessoal .personnel-payroll-card {
  grid-column: 1 / -1 !important;
  padding: 24px !important;
  border-radius: 22px !important;
}

#pessoal .personnel-payroll-values {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 14px !important;
  margin: 18px 0 !important;
}

#pessoal .personnel-payroll-values span {
  background: var(--dp-soft) !important;
  border: 1px solid var(--dp-border) !important;
  border-radius: 16px !important;
  color: var(--dp-text) !important;
  padding: 16px !important;
}

#pessoal .personnel-payroll-values b {
  display: block !important;
  color: var(--dp-muted) !important;
  font-size: 12px !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

#pessoal .personnel-empty-state {
  grid-column: 1 / -1 !important;
  padding: 24px !important;
  border-radius: 22px !important;
  min-height: 126px !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
}

#pessoal .personnel-empty-state strong {
  display: block !important;
  color: var(--dp-text) !important;
  font-size: 20px !important;
  margin-bottom: 8px !important;
}

#pessoal .personnel-empty-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
  display: grid !important;
  place-items: center !important;
  background: #eff6ff !important;
  color: var(--dp-primary) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  border: 1px solid #bfdbfe !important;
}

#pessoal .personnel-empty-actions,
#pessoal .personnel-ai-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#pessoal .mini-action,
#pessoal button.primary,
#pessoal .primary {
  background: var(--dp-primary) !important;
  color: #ffffff !important;
  border-color: var(--dp-primary) !important;
  opacity: 1 !important;
}

#pessoal .secondary-action,
#pessoal button.secondary,
#pessoal .secondary {
  background: var(--dp-secondary) !important;
  color: #ffffff !important;
  border-color: var(--dp-secondary) !important;
}

#pessoal .success-action,
#pessoal button.success,
#pessoal .success {
  background: var(--dp-success) !important;
  color: #ffffff !important;
  border-color: var(--dp-success) !important;
}

#pessoal .warning-action {
  background: var(--dp-warning) !important;
  color: #ffffff !important;
  border-color: var(--dp-warning) !important;
}

#pessoal .danger-action {
  background: var(--dp-danger) !important;
  color: #ffffff !important;
  border-color: var(--dp-danger) !important;
}

#pessoal .status-control select {
  min-width: 170px !important;
  background: #ffffff !important;
  color: var(--dp-text) !important;
  border: 1px solid #cbd5e1 !important;
}

#pessoal .folder-documents span {
  background: var(--dp-soft) !important;
  color: var(--dp-text) !important;
  border: 1px solid var(--dp-border) !important;
}

#pessoal .panel {
  background: #ffffff !important;
  border: 1px solid var(--dp-border) !important;
  box-shadow: 0 20px 45px rgba(15, 23, 42, .06) !important;
}

#pessoal .panel-head {
  border-bottom: 1px solid var(--dp-border) !important;
}

@media (max-width: 1180px) {
  #pessoal .accounting-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #pessoal .accounting-control-list .control-card,
  #pessoal .closing-list .closing-item,
  #pessoal .rule-list .rule-item,
  #pessoal .personnel-wide-card,
  #pessoal .personnel-empty-state {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #pessoal .personnel-empty-actions,
  #pessoal .personnel-ai-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  #pessoal .accounting-dashboard-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #pessoal .accounting-context > .company-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* FASE 8 - Emissor NF premium */
#emissor {
  --issuer-text: #1e293b;
  --issuer-muted: #64748b;
  --issuer-border: #e2e8f0;
  --issuer-soft: #f8fafc;
  --issuer-primary: #2563eb;
  --issuer-success: #16a34a;
  --issuer-warning: #ea580c;
  --issuer-danger: #dc2626;
  --issuer-secondary: #1e293b;
}

#emissor .issuer-premium-hero,
#emissor .issuer-topbar,
#emissor .issuer-panel,
#emissor .issuer-kpi-grid article,
#issuerCancelModal .modal {
  background: #ffffff !important;
  color: var(--issuer-text) !important;
  border: 1px solid var(--issuer-border) !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .06) !important;
}

#emissor .issuer-premium-hero {
  padding: 28px !important;
  border-radius: 24px !important;
  margin-bottom: 18px !important;
}

#emissor .issuer-premium-hero h2,
#emissor .issuer-panel h2,
#emissor .issuer-kpi-grid strong,
#emissor .issuer-active-company strong,
#issuerCancelModal h2 {
  color: var(--issuer-text) !important;
}

#emissor .issuer-premium-hero p,
#emissor .issuer-panel span,
#emissor .issuer-panel p,
#emissor .issuer-panel small,
#emissor .issuer-kpi-grid small,
#emissor .issuer-active-company small {
  color: var(--issuer-muted) !important;
}

#emissor .issuer-topbar {
  display: grid !important;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 2.2fr) !important;
  gap: 18px !important;
  padding: 18px !important;
  border-radius: 20px !important;
  margin-bottom: 18px !important;
}

#emissor .issuer-active-company {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  background: var(--issuer-soft) !important;
  border: 1px solid var(--issuer-border) !important;
}

#emissor .issuer-active-company span,
#emissor label,
#issuerCancelModal label {
  color: #334155 !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
  text-transform: none !important;
}

#emissor .issuer-filters {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 14px !important;
  align-items: end !important;
}

#emissor input,
#emissor select,
#issuerCancelModal textarea {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--issuer-text) !important;
  border: 1px solid #cbd5e1 !important;
  padding: 10px 12px !important;
}

#emissor .issuer-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 18px 0 !important;
}

#emissor .issuer-kpi-grid article {
  min-height: 138px !important;
  border-radius: 18px !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  border-left: 4px solid var(--issuer-primary) !important;
}

#emissor .issuer-kpi-grid span {
  color: var(--issuer-muted) !important;
  font-size: .74rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-weight: 900 !important;
}

#emissor .issuer-kpi-grid strong {
  display: block !important;
  font-size: clamp(1.8rem, 2vw, 2.35rem) !important;
  line-height: 1.05 !important;
  margin: 10px 0 !important;
  white-space: normal !important;
}

#emissor .issuer-premium-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(320px, .75fr) !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
}

#emissor .issuer-main-column,
#emissor .issuer-side-column {
  display: grid !important;
  gap: 18px !important;
  min-width: 0 !important;
}

#emissor .issuer-panel {
  border-radius: 22px !important;
  padding: 20px !important;
  overflow: visible !important;
}

#emissor .panel-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: center !important;
  border-bottom: 1px solid var(--issuer-border) !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
}

#emissor .issuer-note-list,
#emissor .issuer-transmission-list {
  display: grid !important;
  gap: 14px !important;
}

#emissor .issuer-note-card {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.4fr) minmax(240px, .9fr) minmax(220px, .8fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 18px !important;
  background: #ffffff !important;
  border: 1px solid var(--issuer-border) !important;
  border-left: 4px solid var(--issuer-primary) !important;
  border-radius: 18px !important;
}

#emissor .issuer-note-main,
#emissor .issuer-note-values,
#emissor .issuer-note-status,
#emissor .issuer-note-actions {
  min-width: 0 !important;
}

#emissor .issuer-note-main strong,
#emissor .issuer-transmission-card strong {
  display: block !important;
  color: var(--issuer-text) !important;
  font-size: 1.02rem !important;
  margin: 4px 0 !important;
}

#emissor .issuer-note-main p {
  margin: 0 0 4px !important;
  overflow-wrap: anywhere !important;
}

#emissor .issuer-note-values {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#emissor .issuer-note-values span {
  display: grid !important;
  gap: 4px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  background: var(--issuer-soft) !important;
  color: var(--issuer-text) !important;
}

#emissor .issuer-note-values b {
  color: var(--issuer-muted) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
}

#emissor .issuer-note-actions,
#emissor .issuer-inline-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}

#emissor .issuer-transmission-card {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 16px !important;
  border: 1px solid var(--issuer-border) !important;
  border-radius: 16px !important;
  background: var(--issuer-soft) !important;
}

#emissor .issuer-ai-card {
  display: grid !important;
  gap: 14px !important;
}

#emissor .issuer-ai-card ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding-left: 18px !important;
  color: var(--issuer-text) !important;
}

#emissor .issuer-ai-limit {
  display: grid !important;
  gap: 6px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
}

#emissor .issuer-future-text {
  margin: 0 0 14px !important;
}

#emissor .premium-empty-state {
  display: grid !important;
  gap: 10px !important;
  padding: 24px !important;
  border-radius: 18px !important;
  background: var(--issuer-soft) !important;
  border: 1px dashed #cbd5e1 !important;
  color: var(--issuer-text) !important;
}

#emissor .premium-empty-state.compact {
  padding: 18px !important;
}

#issuerCancelModal::backdrop {
  background: rgba(15, 23, 42, .42) !important;
}

#issuerCancelModal .issuer-cancel-modal {
  width: min(620px, calc(100vw - 42px)) !important;
  max-width: 620px !important;
  border-radius: 24px !important;
}

#issuerCancelModal .issuer-cancel-summary {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#issuerCancelModal .issuer-cancel-summary article {
  display: grid !important;
  gap: 5px !important;
  padding: 14px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid var(--issuer-border) !important;
}

#issuerCancelModal .issuer-cancel-summary strong {
  color: var(--issuer-text) !important;
  overflow-wrap: anywhere !important;
}

#issuerCancelModal menu {
  display: flex !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

#emissor button,
#issuerCancelModal button {
  color: #ffffff !important;
  border: none !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  font-weight: 850 !important;
  padding: 10px 14px !important;
}

#emissor button.primary,
#issuerCancelModal button.primary {
  background: #2563eb !important;
}

#emissor button.secondary,
#issuerCancelModal button.secondary {
  background: #1e293b !important;
}

#emissor button.success,
#issuerCancelModal button.success {
  background: #16a34a !important;
}

#emissor button.warning,
#issuerCancelModal button.warning {
  background: #ea580c !important;
}

#emissor button.danger,
#issuerCancelModal button.danger {
  background: #dc2626 !important;
}

#emissor button.neutral,
#issuerCancelModal button.neutral,
#issuerCancelModal button[value="cancel"] {
  background: #64748b !important;
}

@media (max-width: 1180px) {
  #emissor .issuer-topbar,
  #emissor .issuer-premium-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #emissor .issuer-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #emissor .issuer-note-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #emissor .issuer-note-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 820px) {
  #emissor .issuer-filters,
  #emissor .issuer-kpi-grid,
  #issuerCancelModal .issuer-cancel-summary {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #emissor .issuer-note-values {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Navegação lateral SaaS premium: controle único dentro da sidebar */
.app:not(.sidebar-compact):not(.sidebar-hidden) {
  grid-template-columns: 280px minmax(0, 1fr) !important;
}

.app:not(.sidebar-compact):not(.sidebar-hidden) .sidebar {
  width: 280px !important;
  min-width: 280px !important;
}

.app.sidebar-compact {
  grid-template-columns: 72px minmax(0, 1fr) !important;
}

.app.sidebar-compact .sidebar {
  width: 72px !important;
  min-width: 72px !important;
}

.sidebar {
  overflow: hidden !important;
}

.sidebar-toggle-row {
  position: static !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  padding: 24px 14px 14px !important;
  margin: 0 !important;
  background: transparent !important;
}

.sidebar-toggle {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background: rgba(255, 255, 255, .10) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.sidebar-toggle:hover,
.sidebar-toggle:focus-visible {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.app.sidebar-compact .sidebar-toggle-row {
  padding: 22px 8px 14px !important;
}

.app.sidebar-compact .sidebar-toggle {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  justify-content: center !important;
  padding: 0 !important;
}

.app.sidebar-compact .sidebar-toggle-label,
.app.sidebar-compact .brand div {
  display: none !important;
}

.floating-sidebar-open {
  display: none !important;
}

/* Correção de amplitude: o painel contextual da Cint.IA não deve cobrir módulos em notebooks */
#appShell .cintia-module-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#appShell .cintia-module-content {
  order: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#appShell .cintia-module-panel {
  order: 2 !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

#appShell .cintia-module-panel-head,
#appShell .cintia-module-command {
  grid-column: 1 / -1 !important;
}

#appShell .cintia-module-panel,
#appShell .cintia-module-panel * {
  box-sizing: border-box !important;
}

#appShell .cintia-module-panel-head h2,
#appShell .cintia-module-block > strong,
#appShell .cintia-module-insight p {
  color: #ffffff !important;
}

#appShell .cintia-module-panel-head p,
#appShell .cintia-module-block p,
#appShell .cintia-module-block li,
#appShell .cintia-module-insight span {
  color: rgba(255, 255, 255, .82) !important;
}

@media (min-width: 1600px) {
  #appShell .cintia-module-shell {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  }

  #appShell .cintia-module-panel {
    order: 2 !important;
    position: sticky !important;
    top: 96px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-self: start !important;
  }

  #appShell .cintia-module-panel-head,
  #appShell .cintia-module-command {
    grid-column: auto !important;
  }
}

@media (max-width: 1180px) {
  #appShell .cintia-module-panel {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Contábil: evita que os KPIs e a esteira lateral espremam a visão principal */
@media (max-width: 1500px) {
  #contabil .accounting-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #contabil .accounting-dashboard-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    overflow: visible !important;
  }

  #contabil .accounting-premium-kpi {
    min-width: 0 !important;
  }
}

/* Curadoria da Cint.IA: tela ampla e sem cards espremidos */
#cintia-curadoria .cintia-curation-layout {
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr) !important;
  align-items: start !important;
}

#cintia-curadoria .cintia-curation-form {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#cintia-curadoria .cintia-curation-form .span-2 {
  grid-column: 1 / -1 !important;
}

@media (max-width: 1180px) {
  #cintia-curadoria .cintia-curation-layout,
  #cintia-curadoria .cintia-curation-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
