:root {
  color-scheme: light;
  --bg: #cde0cd;
  --surface: #ffffff;
  --surface-2: #eef3f4;
  --ink: #1e2a2f;
  --muted: #66757c;
  --line: #d8e0e3;
  --brand: #0f766e;
  --brand-strong: #115e59;
  --accent: #b45309;
  --danger: #b91c1c;
  --ok: #15803d;
  --warn: #ca8a04;
  --info: #2563eb;
  --shadow: 0 18px 50px rgba(31, 42, 47, 0.12);
  font-family: "Segoe UI", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  display: grid;
  grid-template-columns: 280px 1fr;
  background: var(--bg);
  color: var(--ink);
}

.login-view {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  place-items: center;
  padding: 24px;
  background: #162326;
}

.login-active .login-view {
  display: grid;
}

.login-active .sidebar,
.login-active .app-shell {
  display: none;
}

.login-card {
  width: min(420px, 100%);
  padding: 24px;
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
}

.login-brand {
  color: var(--ink);
  padding: 0 0 10px;
}

.login-brand small {
  color: var(--muted);
}

.system-version {
  display: block;
  margin-top: 3px;
  color: #b6c6cb;
  font-size: 0.76rem;
  font-weight: 700;
}

.login-version {
  color: var(--brand-strong);
}

.login-button {
  width: 100%;
}

.login-message {
  min-height: 20px;
  margin: 0;
  color: var(--danger);
  font-weight: 700;
}

body.sidebar-collapsed {
  grid-template-columns: 76px 1fr;
}

.sidebar-collapsed .sidebar {
  padding-inline: 10px;
}

.sidebar-collapsed .brand div,
.sidebar-collapsed .nav-button span:last-child,
.sidebar-collapsed .nav-heading,
.sidebar-collapsed .sidebar-actions {
  display: none;
}

.sidebar-collapsed .brand {
  justify-content: center;
}

.sidebar-collapsed .nav-button {
  justify-content: center;
  padding-inline: 6px;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
label.file-button {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
}

.sidebar {
  min-height: 100vh;
  padding: 18px 14px;
  background: #162326;
  color: #f8fafc;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #f59e0b;
  color: #1e293b;
  font-weight: 800;
}

.brand strong,
.brand small {
  display: block;
}

.brand small {
  margin-top: 3px;
  color: #b9c6ca;
}

.brand .integration-process-time {
  color: #d9e7e5;
  font-size: 0.72rem;
  font-weight: 700;
}

.module-nav,
.nav-items {
  display: grid;
  gap: 6px;
}

.nav-group {
  display: grid;
  gap: 4px;
}

.nav-heading {
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  color: #8fd0ae;
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.accordion-mark {
  color: #fbbf24;
  font-size: 1rem;
}

.nav-group.collapsed .nav-items {
  display: none;
}

.nav-subgroup {
  display: grid;
  gap: 4px;
  margin-top: 4px;
  padding: 6px 0 6px 12px;
  border-left: 1px solid rgba(143, 208, 174, 0.28);
}

.nav-subheading {
  min-height: 30px;
  padding: 6px 10px;
  color: #b9e6d0;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.78rem;
  font-weight: 800;
}

.nav-subgroup .nav-button {
  padding-left: 10px;
}

.nav-button {
  width: 100%;
  padding: 10px 12px;
  text-align: left;
  background: transparent;
  color: #dbe7ea;
  display: flex;
  gap: 10px;
  align-items: center;
}

.nav-button:hover,
.nav-button.active {
  background: #243438;
  color: #ffffff;
}

.nav-icon {
  width: 30px;
  height: 26px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.08);
  color: #fbbf24;
  font-size: 0.72rem;
  font-weight: 800;
}

.parameters-panel,
.agenda-panel {
  min-height: calc(100vh - 190px);
}

.parameters-form {
  display: grid;
  gap: 12px;
  padding: 8px 0;
}

.parameters-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(360px, 1fr));
  gap: 16px 70px;
  padding-top: 8px;
}

.parameters-header {
  border-bottom: 0;
}

.parameters-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  border-bottom: 1px solid var(--line);
}

.parameters-tab {
  min-height: 48px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--ink);
  font-size: 1rem;
  text-align: center;
  cursor: pointer;
}

.parameters-tab:hover,
.parameters-tab.active {
  border-bottom-color: var(--primary);
  color: var(--primary-strong);
  font-weight: 800;
}

.parameters-tab-content {
  display: none;
  padding-top: 18px;
}

.parameters-tab-content.active {
  display: block;
}

.embedded-panel {
  padding: 0;
}

.parameter-sub-actions {
  margin: 12px 0;
  display: flex;
  justify-content: flex-end;
}

.parameter-cockpit-sync {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.parameter-sync-summary {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin: 10px 0 12px;
}

.parameter-sync-summary .health-card {
  min-height: 70px;
  display: grid;
  align-content: center;
  padding: 10px 12px;
}

.parameter-sync-summary .health-card strong {
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: none;
}

.parameter-sync-summary .health-card span {
  font-size: 1.35rem;
  line-height: 1.1;
}

.parameter-cockpit-sync .sync-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.parameter-cockpit-sync .sync-flow div {
  min-height: 78px;
}

.parameter-row {
  display: grid;
  grid-template-columns: 260px minmax(48px, 240px);
  column-gap: 18px;
  row-gap: 6px;
  align-items: center;
}

.parameter-row-text {
  grid-template-columns: 260px minmax(220px, 360px);
  margin-top: 18px;
}

.parameter-config-item {
  grid-template-columns: 190px minmax(120px, 1fr);
  align-items: start;
}

.parameter-config-item.parameter-row-text {
  margin-top: 0;
}

.parameter-config-item .parameter-control input:not([type="checkbox"]),
.parameter-config-item .parameter-control select {
  max-width: 360px;
}

.parameter-row label {
  text-transform: uppercase;
  font-weight: 700;
}

.parameter-control input:not([type="checkbox"]),
.parameter-control select {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.parameter-row p {
  grid-column: 2 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.parameter-actions,
.integration-monitor-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.parameter-actions {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.parameter-actions span,
.integration-monitor-toolbar span,
.integration-monitor-toolbar label {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.totvs-config-card {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 16px;
}

.totvs-config-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.totvs-config-header p {
  margin: 6px 0 0;
  color: var(--muted);
}

.totvs-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
}

.totvs-parameter-row {
  grid-template-columns: 170px minmax(180px, 1fr);
  gap: 8px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.totvs-parameter-row p {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.84rem;
}

.totvs-parameter-row.parameter-row-wide {
  grid-column: 1 / -1;
}

.agenda-header {
  align-items: center;
}

.agenda-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.agenda-filters {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(220px, 320px);
  gap: 12px;
  margin: 12px 0;
}

.agenda-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  border: 1px solid var(--line);
  border-right: 0;
  border-bottom: 0;
}

.agenda-weekday,
.agenda-day {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.agenda-weekday {
  padding: 10px;
  background: var(--surface-2);
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 0.76rem;
}

.agenda-day {
  min-height: 124px;
  padding: 8px;
  background: var(--surface);
}

.muted-day {
  background: #f8fafc;
}

.agenda-day > strong {
  display: block;
  margin-bottom: 8px;
}

.agenda-events {
  display: grid;
  gap: 5px;
}

.agenda-event,
.agenda-status-row {
  min-height: 0;
  padding: 6px;
  border: 1px solid #b7d8d1;
  background: #eef6f5;
  color: var(--ink);
  text-align: left;
}

.agenda-status-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-left-width: 6px;
  font-weight: 800;
}

.agenda-status-row.status-new {
  border-color: #94a3b8;
  background: #f1f5f9;
}

.agenda-status-row.status-scheduled {
  border-color: #2563eb;
  background: #eff6ff;
}

.agenda-status-row.status-survey {
  border-color: #f59e0b;
  background: #fffbeb;
}

.agenda-status-row.status-run {
  border-color: #7c3aed;
  background: #f5f3ff;
}

.agenda-status-row.status-ok {
  border-color: #16a34a;
  background: #ecfdf5;
}

.agenda-status-row.status-cancel {
  border-color: #dc2626;
  background: #fef2f2;
}

.agenda-event span,
.agenda-event small {
  display: block;
}

.agenda-event small {
  color: var(--muted);
  margin-top: 2px;
}

.sidebar-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.file-button input {
  display: none;
}

.app-shell {
  min-width: 0;
  padding: 18px 22px 24px;
  background: var(--bg);
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 88px;
  margin: -18px -22px 14px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--line);
  background: #eef5ee;
}

.topbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 320px;
  flex: 1 1 0;
}

.topbar-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 0 1 auto;
  text-align: center;
  justify-content: center;
}

.topbar-title > div {
  min-width: 0;
}

.logged-user {
  color: var(--ink);
  font-weight: 800;
}

.topbar-user-summary {
  min-width: 0;
  display: grid;
  justify-items: start;
  align-content: center;
  gap: 2px;
  padding-left: 10px;
  border-left: 4px solid var(--ink);
  line-height: 1.12;
}

.topbar-system-name {
  color: var(--brand-strong);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.welcome-message {
  color: var(--brand-strong);
  font-size: 0.76rem;
  font-weight: 800;
  white-space: nowrap;
}

.topbar-company-summary {
  display: flex;
  align-items: center;
  min-width: 0;
}

.company-label {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--brand-strong);
  font-weight: 800;
  white-space: nowrap;
}

.eyebrow {
  margin: 0 0 5px;
  color: var(--brand-strong);
  font-weight: 700;
  font-size: 0.78rem;
  text-transform: uppercase;
  white-space: nowrap;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  font-size: 1.8rem;
}

h2 {
  margin-bottom: 0;
  font-size: 1.05rem;
}

h3 {
  margin-bottom: 0;
  font-size: 0.95rem;
}

.topbar-actions,
.toolbar,
.dialog-actions,
.items-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.topbar-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-left: 0;
  flex: 1 1 0;
}

.backend-status {
  width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--surface);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
}

.backend-status #backendStatusText {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.backend-status-dot {
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: #d92d20;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(217, 45, 32, 0.22);
}

.backend-status.online {
  border-color: #b8e4c3;
  color: #166534;
}

.backend-status.online .backend-status-dot {
  background: #16a34a;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(22, 163, 74, 0.24);
}

.backend-status.offline {
  border-color: #f2b8b5;
  color: #991b1b;
}

.status-notification {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
}

.status-notification.conflict {
  border-color: #f2b8b5;
  background: #fff0ef;
  color: #991b1b;
}

.status-dot-alert {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #d92d20;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #f2b8b5;
}

.data-status-bar {
  min-height: 38px;
  margin: -8px 0 12px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--text);
  background: #eefaf2;
}

.data-status-bar.online {
  border-color: #b8e4c3;
  background: #effaf3;
}

.data-status-bar.syncing,
.data-status-bar.offline {
  border-color: #f3d77c;
  background: #fff8df;
}

.data-status-bar.conflict,
.data-status-bar.error {
  border-color: #f2b8b5;
  background: #fff0ef;
}

.data-status-bar strong {
  font-weight: 800;
}

.data-status-bar #dataStatusText {
  flex: 1;
  min-width: 0;
}

.cockpit-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.cockpit-card,
.cockpit-action {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 14px;
}

.cockpit-card span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cockpit-card strong {
  display: block;
  margin-top: 8px;
  font-size: 1.65rem;
}

.cockpit-card p,
.cockpit-action p {
  margin: 8px 0 0;
  color: var(--muted);
}

.cockpit-card.ok,
.cockpit-action.ok {
  border-color: #b8e4c3;
  background: #f0fbf4;
}

.cockpit-card.warn {
  border-color: #f3d77c;
  background: #fff9e6;
}

.cockpit-card.error,
.cockpit-action.error {
  border-color: #f2b8b5;
  background: #fff0ef;
}

.cockpit-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.cadastro-toolbar .search-box {
  flex: 1 0 100%;
}

.cadastro-toolbar {
  justify-content: flex-start;
  align-items: flex-start;
}

.cadastro-actions {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}

.cadastro-actions > button,
.cadastro-actions > label {
  flex: 0 0 auto;
}

.selection-info {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.nav-separator {
  height: 1px;
  margin: 8px 8px;
  background: rgba(255, 255, 255, 0.14);
}

.nav-button.placeholder,
.nav-button:disabled {
  color: #7f8f96;
  cursor: not-allowed;
  opacity: 0.78;
}

.nav-button.placeholder .nav-icon,
.nav-button:disabled .nav-icon {
  color: #a5afb5;
  background: rgba(255, 255, 255, 0.04);
}

.nav-button.placeholder:hover,
.nav-button:disabled:hover {
  background: transparent;
  color: #7f8f96;
}

.workspace-tabs {
  min-height: 46px;
  margin-bottom: 18px;
  display: flex;
  align-items: end;
  gap: 6px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
}

.workspace-tab {
  min-width: 150px;
  max-width: 240px;
  height: 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: #eaf0f1;
}

.workspace-tab.active {
  height: 46px;
  background: var(--surface);
  box-shadow: 0 -1px 0 var(--surface) inset;
}

.tab-title,
.tab-close {
  min-height: 34px;
  border: 0;
  background: transparent;
  color: var(--ink);
}

.tab-title {
  padding: 0 8px 0 12px;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}

.tab-close {
  width: 34px;
  padding: 0;
  color: var(--muted);
  font-size: 1.05rem;
}

.tab-close:hover {
  color: var(--danger);
}

.tab-close:disabled {
  opacity: 0.35;
  cursor: default;
}

.view {
  display: none;
}

.view.active {
  display: block;
}

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

.kpi,
.panel,
.record-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.kpi {
  padding: 16px;
}

.finance-kpi-card {
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 6px 14px;
  min-height: 74px;
  box-shadow: none;
}

.finance-kpi-card .billing-kpi-icon {
  grid-row: 1 / 3;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #d8f8ef;
  color: #10b981;
}

.finance-kpi-card span {
  align-self: end;
  font-weight: 500;
}

.finance-kpi-card strong {
  align-self: start;
  margin-top: 0;
  color: #29435e;
  font-size: 0.98rem;
}

.finance-kpi-card.negative strong {
  color: #29435e;
}

.kpi span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
}

.kpi strong {
  display: block;
  margin-top: 8px;
  font-size: 1.75rem;
}

#dashboardFinanceiroView .kpi-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

#dashboardFinanceiroView .finance-kpi-card {
  padding: 16px;
  border-color: #dbe5ec;
  background: #fff;
}

#dashboardFinanceiroView .finance-kpi-card strong {
  margin-top: 0;
  color: #29435e;
  font-size: 0.98rem;
  line-height: 1.25;
}

#dashboardFinanceiroView .finance-kpi-card.negative strong {
  color: #29435e;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 16px;
}

.finance-dashboard-panel {
  margin-bottom: 16px;
}

.finance-dashboard-header,
.dashboard-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-meta {
  align-items: center;
  color: var(--muted);
  font-size: 0.86rem;
}

.dashboard-meta > span:first-child,
.billing-actions > span:first-child,
.finance12-actions > span:first-child {
  order: 1;
}

.dashboard-meta .finance-expand-all-button,
.billing-actions .finance-expand-all-button,
.finance12-actions .finance-expand-all-button {
  order: 4;
}

.dashboard-meta .dashboard-source-dot,
.billing-actions .dashboard-source-dot,
.finance12-actions .dashboard-source-dot {
  order: 2;
}

.dashboard-meta button[title*="Filtros"],
.billing-actions button[title*="Filtros"],
.finance12-actions button[title*="Filtros"] {
  order: 5;
}

.dashboard-meta .primary-button,
.billing-actions .primary-button,
.finance12-actions .primary-button {
  order: 6;
}

.dashboard-meta #finance13RefreshBtn {
  order: 6;
}

.dashboard-meta .compact-input {
  order: 4;
  width: min(320px, 28vw);
  min-width: 220px;
  height: 40px;
}

.dashboard-meta .dashboard-about-button {
  order: 3;
}

.panel-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.finance13-upcoming-filter-button.active {
  color: #0f766e;
  border-color: #99f6e4;
  background: #ecfdf5;
}

.finance-filter-dialog {
  width: min(780px, calc(100vw - 32px));
}

.finance-filter-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 12px;
}

.finance-advanced-filter-section .finance-filter-grid {
  grid-template-columns: 1fr;
}

.finance-filter-grid .field {
  display: grid;
  gap: 6px;
}

.finance-filter-grid input,
.finance-filter-grid select {
  min-height: 40px;
}

.finance-filter-grid select[multiple] {
  min-height: 142px;
  padding: 6px;
  font-size: 0.86rem;
  line-height: 1.25;
}

.finance-filter-grid select[multiple].finance-native-multiselect {
  display: none;
}

.finance-filter-grid select[multiple] option {
  padding: 5px 8px;
}

.finance-multiselect {
  position: relative;
}

.finance-multiselect-button {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
}

.finance-multiselect-button::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.finance-multiselect.open .finance-multiselect-button::after {
  transform: rotate(225deg);
}

.finance-multiselect-button span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-gerencial-field .finance-multiselect-button {
  min-height: 48px;
  align-items: flex-start;
  padding-top: 8px;
  padding-bottom: 8px;
}

.finance-gerencial-field .finance-multiselect-button span:first-child {
  white-space: normal;
  line-height: 1.25;
}

.finance-multiselect-caret {
  display: none;
}

.finance-multiselect-menu {
  display: none;
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 220px;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 12px 28px rgba(15, 31, 42, 0.16);
  font-size: 12px;
}

.finance-multiselect.open .finance-multiselect-menu {
  display: grid;
  gap: 2px;
}

.finance-gerencial-field .finance-multiselect-menu {
  max-height: 360px;
  font-size: 13px;
}

.finance-multiselect-option {
  width: 100%;
  min-height: 26px;
  padding: 3px 6px;
  border-radius: 6px;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: center;
  justify-content: initial;
  gap: 6px;
  font-size: 12px;
  line-height: 1.15;
  color: var(--ink);
  text-align: left;
  text-transform: none;
  font-weight: 500;
}

.finance-multiselect-option:hover {
  background: #eef6f4;
}

.finance-multiselect-option.all {
  font-weight: 800;
}

.finance-multiselect .finance-multiselect-option input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 13px;
  min-width: 13px;
  max-width: 13px;
  height: 13px;
  min-height: 13px;
  max-height: 13px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  flex: 0 0 auto;
  accent-color: var(--brand);
}

.finance-multiselect-option span {
  display: block;
  width: auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

.finance-gerencial-field .finance-multiselect-option span {
  white-space: normal;
  line-height: 1.25;
}

.dashboard-warning {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid #e7c56a;
  border-radius: 8px;
  background: #fff8df;
  color: #6f5200;
}

.filter-section {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.filter-section summary {
  min-height: 46px;
  padding: 12px 14px;
  cursor: pointer;
  font-weight: 800;
}

.filter-section summary::marker {
  color: var(--brand);
}

.filter-section[open] {
  padding-bottom: 12px;
}

.filter-section[open] .finance-filter-grid {
  padding: 0 14px;
}

.finance-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.finance-chart-grid .wide {
  grid-column: 1 / -1;
}

.finance-primary-table {
  margin-bottom: 16px;
  border-color: #b8d7d2;
  box-shadow: 0 18px 42px rgba(15, 78, 86, 0.11);
}

.finance-primary-table .finance-titles-body {
  display: grid;
  gap: 12px;
}

.finance-primary-table .table-wrap {
  max-height: 520px;
  overflow: auto;
  border: 1px solid #d8e5e3;
  border-radius: 8px;
}

.finance-primary-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eef6f4;
  box-shadow: inset 0 -1px 0 #cfe0dd;
}

.finance-collapsible-panel .panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
}

.finance-collapsible-panel [data-finance-panel-toggle] {
  margin-left: auto;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  transform: rotate(180deg);
  transition: transform 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.finance-collapsible-panel.collapsed [data-finance-panel-toggle] {
  transform: rotate(0deg);
}

.finance-collapsible-panel [data-finance-panel-toggle]:hover {
  background: var(--brand);
  color: #fff;
}

.finance-expand-button {
  margin-left: 0;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  transform: rotate(180deg);
  transition: transform 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.finance-titles-panel.collapsed .finance-expand-button {
  transform: rotate(0deg);
}

.finance-titles-panel.collapsed .finance-titles-body {
  display: none;
}

.finance-expand-button:hover {
  background: var(--brand);
  color: #fff;
}

.finance-drill-card,
.finance-bar-row,
.finance-title-row,
.finance13-horizontal-row,
.finance13-comparison-row,
.finance13-upcoming-day {
  cursor: pointer;
}

.finance-drill-card:hover,
.finance-title-row:hover,
.finance13-horizontal-row:hover,
.finance13-comparison-row:hover,
.finance13-upcoming-day:hover {
  background: #eef6f4;
}

.negative-value,
.kpi.negative strong,
.finance-table-totals .negative strong {
  color: var(--danger);
}

.finance13-title-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 44px);
  padding: 0;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  background: transparent;
  color: var(--ink);
}

.finance13-title-dialog::backdrop {
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(2px);
}

.finance13-title-popover {
  background: #ffffff;
  border: 1px solid #d5dde7;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.finance13-title-dialog-header {
  min-height: 72px;
  padding: 18px 22px;
  border-bottom: 1px solid #dce5ee;
  background: #f8fafc;
}

.finance13-title-dialog-header h2 {
  margin: 0;
  color: #0f172a;
  font-size: 1.18rem;
  line-height: 1.2;
}

.finance13-title-dialog-header p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
}

.finance13-title-dialog-body {
  max-height: calc(100vh - 142px);
  overflow: auto;
  padding: 18px 22px 22px;
  background: #ffffff;
}

.finance13-title-summary {
  display: grid;
  grid-template-columns: minmax(100px, 0.7fr) minmax(110px, 0.75fr) minmax(270px, 2fr) minmax(140px, 0.85fr);
  gap: 1px;
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid #d9e3ec;
  border-radius: 8px;
  background: #d9e3ec;
}

.finance13-title-summary > div,
.finance13-title-field {
  min-width: 0;
  padding: 11px 12px;
  background: #ffffff;
}

.finance13-title-summary span,
.finance13-title-field span {
  display: block;
  margin-bottom: 5px;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.finance13-title-summary strong,
.finance13-title-field strong {
  display: block;
  min-width: 0;
  color: #0f172a;
  font-size: 0.9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.finance13-title-summary .finance-status-cell {
  vertical-align: -2px;
}

.finance13-title-section {
  margin-top: 14px;
}

.finance13-title-section h3 {
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #d9e3ec;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: #f8fafc;
  color: #0f172a;
  font-size: 0.86rem;
  text-transform: uppercase;
}

.finance13-title-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d9e3ec;
  border-radius: 0 0 8px 8px;
  background: #d9e3ec;
}

.finance13-title-field.wide {
  grid-column: span 2;
}

.finance13-title-dialog .negative-value strong,
.finance13-title-dialog strong .negative-value {
  color: var(--danger);
}

@media (max-width: 900px) {
  .finance13-title-summary,
  .finance13-title-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Solicitação de compras */
.purchase-layout-panel {
  min-height: auto;
}

.purchase-filter-toolbar {
  grid-template-columns: minmax(320px, 1fr) minmax(240px, 0.7fr);
}

.purchase-search-box input {
  min-width: 0;
}

.purchase-grid {
  min-height: 0;
}

#purchaseRequestList.records-grid {
  display: block;
  width: 100%;
}

.purchase-order-grid.records-grid {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.purchase-order-grid > .os-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.purchase-order-table {
  width: 100%;
  min-width: 1500px;
}

.purchase-order-edit-dialog {
  width: 100vw !important;
  max-width: none;
  height: 100vh !important;
  max-height: none;
  overflow: hidden;
  border-radius: 0 !important;
}

.purchase-order-edit-overlay { padding: 0 !important; place-items: stretch !important; }

.purchase-order-edit-dialog > nav.order-dialog-tabs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 58px;
  min-height: 58px;
  margin: 0 !important;
  padding: 12px 20px 0 !important;
  border-bottom: 1px solid #d7e0e9;
  overflow: visible !important;
  background: #e7eef3;
}

.purchase-order-edit-dialog > nav.order-dialog-tabs > button.dialog-tab {
  display: inline-flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
  border: 0;
  border-bottom: 3px solid transparent;
  background: #f8fafc;
  padding: 13px 18px;
  color: #1e293b;
  font-weight: 800;
  cursor: pointer;
}

.purchase-order-edit-dialog > nav.order-dialog-tabs > button.dialog-tab.active { color: #08a878; border-bottom-color: #10b981; background: #fff; }
.order-dialog-panel { padding: 18px 20px; flex: 1 1 auto; overflow: auto; }
.order-dialog-panel.hidden, .order-tax-row.hidden { display: none !important; }
.order-tax-editor { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; padding: 12px; background: #f1f7f6; border-radius: 8px; }
.order-tax-editor label { display: grid; gap: 6px; font-weight: 800; color: #475569; }
.order-trace { display: grid; gap: 24px; }

.purchase-order-edit-fields {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  padding: 16px 20px;
}

.purchase-order-edit-fields .field:not(.full) { position: relative; }
.purchase-order-edit-fields .field:not(.full) input { padding-right: 42px; }
.purchase-order-edit-fields .field:not(.full)::after {
  content: "";
  position: absolute;
  right: 13px;
  bottom: 13px;
  width: 17px;
  height: 17px;
  opacity: .65;
  background: #52657a;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16.5 16.5 4 4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16.5 16.5 4 4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  pointer-events: none;
}

.purchase-order-edit-fields .field:not(.full):has(input[type="date"])::after { display: none; }

.purchase-order-edit-dialog .quote-entry-grid {
  margin: 0 20px 16px;
}

@media (max-width: 900px) {
  .purchase-order-edit-fields { grid-template-columns: 1fr; }
}

.purchase-request-table {
  width: 100%;
  min-width: 1320px;
}

.payroll-movement-layout-panel {
  min-height: auto;
}

#movimentoFolhaList.records-grid {
  display: block;
  width: 100%;
}

.payroll-movement-table {
  width: 100%;
  min-width: 1180px;
}

.purchase-status-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #334155;
}

.purchase-status-dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.06);
}

.purchase-status-dot.pending {
  background: #facc15;
}

.purchase-status-dot.cancelled {
  background: #ef4444;
}

.purchase-status-dot.received {
  background: #22c55e;
}

.purchase-status-dot.normal {
  background: #94a3b8;
}

.purchase-status-dot.not-processed {
  background: #f97316;
}

.purchase-status-dot.billing {
  background: #8b5cf6;
}

#recordDialog[data-collection="solicitacaoCompras"] {
  width: min(1720px, 99vw);
  max-height: 97vh;
}

#recordDialog[data-collection="solicitacaoCompras"] .form-grid {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
}

#recordDialog[data-collection="solicitacaoCompras"] .field {
  grid-column: span 2;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.statusCompact,
#recordDialog[data-collection="solicitacaoCompras"] .field.dateCompact {
  grid-column: span 1;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.clientWide {
  grid-column: span 5;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.personWide {
  grid-column: span 2;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.xwide {
  grid-column: span 3;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.full {
  grid-column: 1 / -1;
}

#recordDialog[data-collection="solicitacaoCompras"] textarea {
  min-height: 92px;
}

#purchaseItemsEditor .items-grid th,
#purchaseItemsEditor .items-grid td {
  vertical-align: middle;
}

#purchaseItemsEditor .items-grid input {
  min-width: 0;
}

@media (max-width: 1100px) {
  .purchase-filter-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  #recordDialog[data-collection="solicitacaoCompras"] .form-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  #recordDialog[data-collection="solicitacaoCompras"] .field,
  #recordDialog[data-collection="solicitacaoCompras"] .field.statusCompact,
  #recordDialog[data-collection="solicitacaoCompras"] .field.dateCompact,
  #recordDialog[data-collection="solicitacaoCompras"] .field.clientWide,
  #recordDialog[data-collection="solicitacaoCompras"] .field.personWide,
  #recordDialog[data-collection="solicitacaoCompras"] .field.xwide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .purchase-filter-toolbar {
    grid-template-columns: 1fr;
    display: grid;
  }

  #recordDialog[data-collection="solicitacaoCompras"] .form-grid {
    grid-template-columns: 1fr;
  }

  #recordDialog[data-collection="solicitacaoCompras"] .field,
  #recordDialog[data-collection="solicitacaoCompras"] .field.statusCompact,
  #recordDialog[data-collection="solicitacaoCompras"] .field.dateCompact,
  #recordDialog[data-collection="solicitacaoCompras"] .field.clientWide,
  #recordDialog[data-collection="solicitacaoCompras"] .field.personWide,
  #recordDialog[data-collection="solicitacaoCompras"] .field.xwide {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .finance13-title-dialog {
    width: calc(100vw - 18px);
  }

  .finance13-title-dialog-header,
  .finance13-title-dialog-body {
    padding-inline: 14px;
  }

  .finance13-title-summary,
  .finance13-title-grid {
    grid-template-columns: 1fr;
  }

  .finance13-title-field.wide {
    grid-column: auto;
  }
}

.finance-drill-strip {
  margin: 0 0 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.finance-drill-strip button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #b9d9d2;
  border-radius: 8px;
  background: #eef6f4;
  color: var(--brand-strong);
  font-size: 0.84rem;
  font-weight: 700;
}

.finance-collapsible-panel.collapsed .finance-panel-body {
  display: none;
}

.finance-bar-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.finance-bar-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(120px, 1fr) minmax(110px, auto) 42px;
  align-items: center;
  gap: 10px;
}

.finance-bar-row > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-bar-row strong {
  text-align: right;
  white-space: nowrap;
}

.finance-bar-row small {
  color: var(--muted);
  text-align: right;
}

.finance-bar-row .bar span.negative {
  background: var(--danger);
}

.finance-upcoming-chart {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}

.finance-upcoming-row {
  display: grid;
  grid-template-columns: 64px minmax(160px, 1fr) minmax(96px, auto) minmax(96px, auto) 36px;
  align-items: center;
  gap: 10px;
  font-size: 0.84rem;
}

.finance-upcoming-row > span {
  color: var(--muted);
  font-weight: 800;
}

.finance-upcoming-bars {
  display: grid;
  gap: 4px;
}

.finance-upcoming-bars i {
  display: block;
  height: 8px;
  min-width: 0;
  border-radius: 999px;
}

.finance-upcoming-bars .negative {
  background: var(--danger);
}

.finance-upcoming-bars .positive {
  background: var(--brand);
}

.finance-upcoming-row strong {
  text-align: right;
  white-space: nowrap;
}

.finance-upcoming-row small {
  color: var(--muted);
  text-align: right;
}

@media (max-width: 760px) {
  .finance-chart-grid {
    grid-template-columns: 1fr;
  }

  .finance-upcoming-row {
    grid-template-columns: 54px minmax(120px, 1fr) minmax(84px, auto);
  }

  .finance-upcoming-row strong:nth-of-type(2),
  .finance-upcoming-row small {
    display: none;
  }
}

.finance-status-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 24px;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.finance-status-cell i {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 999px;
  background: #94a3b8;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.14);
}

.finance-status-open i { background: #facc15; box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.18); }
.finance-status-paid i { background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.16); }
.finance-status-cancel i { background: #ef4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.16); }
.finance-status-agreement i { background: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16); }
.finance-status-partial i { background: #f97316; box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.16); }
.finance-status-bordero i { background: #94a3b8; box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.18); }

.finance-titles-panel table {
  font-size: 0.78rem;
}

.finance-titles-panel th,
.finance-titles-panel td {
  padding-top: 7px;
  padding-bottom: 7px;
}

.finance-daily-chart {
  min-height: 260px;
  padding-top: 12px;
  overflow-x: auto;
}

.finance-line-legend {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 800;
}

.finance-line-legend span::before {
  content: "";
  width: 22px;
  height: 3px;
  margin-right: 6px;
  border-radius: 999px;
  display: inline-block;
  vertical-align: middle;
}

.finance-line-legend .pagar::before {
  background: var(--danger);
}

.finance-line-legend .receber::before {
  background: var(--brand);
}

.finance-line-legend .saldo::before {
  background: #f59e0b;
}

.finance-line-chart {
  min-width: 720px;
  width: 100%;
  height: 280px;
}

.finance-line-chart .axis {
  stroke: #9fb3b5;
  stroke-width: 1;
}

.finance-line-chart .grid {
  stroke: #e5ecec;
  stroke-width: 1;
}

.finance-line-chart .line {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.finance-line-chart .line.pagar,
.finance-line-chart .dot.pagar {
  stroke: var(--danger);
  fill: var(--danger);
}

.finance-line-chart .line.receber,
.finance-line-chart .dot.receber {
  stroke: var(--brand);
  fill: var(--brand);
}

.finance-line-chart .line.saldo,
.finance-line-chart .dot.saldo {
  stroke: #f59e0b;
  fill: #f59e0b;
}

.finance-line-chart .tick,
.finance-line-chart .axis-label {
  fill: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.finance-day-row {
  min-width: 48px;
  display: grid;
  grid-template-rows: 22px 180px auto;
  gap: 8px;
  justify-items: center;
}

.finance-day-row > span {
  font-size: 0.78rem;
  color: var(--muted);
  white-space: nowrap;
}

.finance-day-bars {
  width: 34px;
  height: 180px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 4px;
  border-bottom: 1px solid var(--line);
}

.finance-day-bars i {
  width: 13px;
  min-height: 4px;
  border-radius: 5px 5px 0 0;
  display: block;
}

.finance-day-bars .pagar {
  background: var(--danger);
}

.finance-day-bars .receber {
  background: var(--brand);
}

.finance-day-row small {
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 0.7rem;
  text-align: center;
}

.finance-day-row small b:first-child {
  color: var(--danger);
}

.finance-day-row small b:last-child {
  color: var(--brand-strong);
}

.finance-titles-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  position: relative;
}

.financeiro-lancamentos-mode {
  gap: 12px;
}

.financeiro-lancamentos-mode .finance13-table-panel {
  margin-top: 0;
  padding: 12px;
  border-radius: 0;
  background: #ffffff;
}

.financeiro-lancamentos-mode .finance-titles-header {
  min-height: 42px;
  align-items: center;
  border-bottom: 1px solid #e1e8ef;
}

.financeiro-lancamentos-mode .finance-titles-header h2 {
  margin: 0;
  color: #08172a;
  font-size: 1rem;
  font-weight: 900;
}

.finance13-dashboard-table-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.finance-launch-toolbar {
  margin: 8px 0 8px;
  padding: 8px 0;
  border-bottom: 1px solid #dce5ee;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.finance-launch-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px;
}

.finance-launch-view-actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.finance-launch-action {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #d5dee8;
  border-radius: 4px;
  background: #ffffff;
  color: #26384c;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.finance-launch-action:hover,
.finance-launch-action[aria-expanded="true"],
.finance-launch-action[aria-pressed="true"] {
  border-color: var(--brand);
  background: #edf7f4;
  color: var(--brand-strong);
}

.finance-launch-action.inactive {
  opacity: 0.48;
  cursor: default;
}

.finance-launch-action.inactive:hover {
  border-color: #cfd8e3;
  background: #ffffff;
  color: #203040;
}

.finance-launch-view-size {
  display: grid;
  gap: 4px;
  color: #27394d;
  font-size: 0.72rem;
  font-weight: 900;
}

.finance-launch-view-size select {
  min-width: 76px;
  height: 32px;
  border: 1px solid #d5dee8;
  border-radius: 4px;
  background: #ffffff;
  color: #102033;
  font-weight: 800;
}

.finance13-column-popover {
  width: min(520px, 100%);
  margin: 0 0 10px auto;
  padding: 10px;
  border: 1px solid #d5dee8;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 6px;
}

.finance13-column-popover.hidden {
  display: none;
}

.finance13-column-option {
  min-height: 32px;
  padding: 6px 8px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #263544;
  font-size: 0.78rem;
  font-weight: 800;
}

.finance13-column-option input {
  accent-color: var(--brand);
}

.financeiro-lancamentos-mode .finance13-table-panel .table-wrap {
  max-height: 420px;
  border: 1px solid #dce5ee;
  border-radius: 4px;
}

.financeiro-lancamentos-mode .finance13-table-panel table {
  font-size: 0.72rem;
}

.financeiro-lancamentos-mode .finance13-table-panel th {
  height: 34px;
  padding: 7px 8px;
  background: #eef3f8;
}

.financeiro-lancamentos-mode .finance13-table-panel td {
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 0.74rem;
}

.financeiro-lancamentos-mode .finance-title-row:nth-child(odd) {
  background: #fff1a8;
}

.financeiro-lancamentos-mode .finance-title-row:nth-child(even) {
  background: #fff7cf;
}

.financeiro-lancamentos-mode .finance-title-row:hover {
  background: #ffe887;
}

.finance-table-totals {
  margin: 0 0 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.finance-table-totals > span {
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbfb;
  display: grid;
  align-content: center;
  gap: 5px;
}

.finance-table-totals small,
.finance-table-totals strong {
  display: block;
}

.finance-table-totals small {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
}

.finance-table-totals strong {
  color: var(--ink);
}

.finance-table-totals .negative strong {
  color: var(--danger);
}

.financeiro-lancamentos-mode .finance-table-totals {
  margin: 0 0 10px;
  display: grid;
  grid-template-columns: minmax(160px, 340px) repeat(3, minmax(160px, 1fr));
  align-items: center;
  gap: 6px;
}

.financeiro-lancamentos-mode .finance-table-totals > span,
.financeiro-lancamentos-mode .finance-table-totals > strong {
  min-height: 44px;
  padding: 8px 10px;
  border: 0;
  border-radius: 4px;
  background: #f8fbfd;
  display: flex;
  align-items: center;
  color: #0f2033;
  font-size: 0.92rem;
  font-weight: 900;
}

.financeiro-lancamentos-mode .finance-table-totals .finance-launch-count {
  border: 1px solid #d7e0ea;
  color: #1c344d;
}

.financeiro-lancamentos-mode .finance-table-totals .finance-launch-total {
  justify-content: center;
  background: #ffffff;
}

.financeiro-lancamentos-mode .finance-table-totals .finance-launch-pagar,
.financeiro-lancamentos-mode .finance-table-totals .finance-launch-saldo {
  color: #ef4444;
}

.financeiro-lancamentos-mode .finance-table-totals .finance-launch-receber {
  color: #0f2033;
}

.finance12-board {
  padding: 10px;
  background: #f1f1f1;
  color: #263238;
}

.billing-dashboard {
  display: grid;
  gap: 14px;
}

#dashboardFaturamentoView {
  text-transform: uppercase;
}

#dashboardFaturamentoView input,
#dashboardFaturamentoView select,
#dashboardFaturamentoView textarea {
  text-transform: uppercase;
}

.billing-header {
  align-items: flex-start;
}

.billing-actions {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
}

.billing-actions .finance13-refresh-progress {
  text-transform: none;
}

.billing-actions label {
  display: grid;
  gap: 4px;
  font-weight: 800;
  text-transform: uppercase;
}

.billing-actions select,
.billing-actions input {
  min-height: 34px;
  min-width: 120px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 0.88rem;
  text-transform: none;
}

.dashboard-source-dot {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  background: #fff;
}

.dashboard-source-dot::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #16a34a;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #b7e4c7;
}

.billing-kpi-grid {
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 1.2fr 1.05fr 1fr;
  gap: 10px;
  align-items: stretch;
}

.billing-kpi,
.billing-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.billing-kpi-group {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.billing-kpi {
  min-height: 70px;
  padding: 16px;
  display: grid;
  align-content: start;
  gap: 0;
  text-align: left;
}

.billing-kpi span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.billing-kpi strong {
  display: block;
  margin-top: 8px;
  font-size: 0.92rem;
  line-height: 1.25;
}

.billing-panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.billing-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.billing-card {
  min-height: 260px;
  padding: 14px;
}

.billing-panel-header {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.billing-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
}

.stock-dashboard .billing-kpi-grid {
  margin-top: 14px;
}

.stock-kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.stock-layout {
  margin-top: 14px;
}

.stock-panel {
  min-height: 230px;
}

.stock-monthly-chart {
  min-height: 190px;
}

.payroll-dashboard .billing-layout {
  align-items: stretch;
}

.payroll-cost-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.payroll-cost-table {
  min-width: 0;
}

.payroll-cost-audit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: 0.8rem;
}

.payroll-cost-audit b {
  margin-left: auto;
}

.payroll-cost-audit-ok b {
  color: #0f8f78;
}

.payroll-cost-audit-warn b {
  color: #b45309;
}

.payroll-cost-table h4 {
  margin: 0 0 8px;
  font-size: 0.9rem;
}

.payroll-cost-table table,
.payroll-events-table {
  width: 100%;
  border-collapse: collapse;
}

.payroll-cost-table th,
.payroll-cost-table td,
.payroll-events-table th,
.payroll-events-table td {
  border-bottom: 1px solid var(--line);
  padding: 7px 8px;
  text-align: left;
  white-space: nowrap;
}

.payroll-events-table th:not(:first-child),
.payroll-events-table td:not(:first-child),
.payroll-cost-table th:not(:first-child),
.payroll-cost-table td:not(:first-child) {
  text-align: right;
}

@media (max-width: 900px) {
  .payroll-cost-grid {
    grid-template-columns: 1fr;
  }
}

.billing-month-bars {
  min-height: 220px;
  display: grid;
  grid-template-columns: repeat(12, minmax(34px, 1fr));
  gap: 10px;
  align-items: end;
  padding: 8px 4px 0;
  border-bottom: 1px solid var(--line);
}

.billing-month-bar {
  height: 100%;
  min-height: 200px;
  display: grid;
  grid-template-rows: 24px minmax(120px, 1fr) 24px;
  align-items: end;
  justify-items: center;
  gap: 4px;
}

.billing-month-bar span {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 700;
}

.billing-month-bar > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: end;
  justify-content: center;
}

.billing-month-bar i {
  width: min(34px, 72%);
  min-height: 3px;
  display: block;
  border-radius: 7px 7px 0 0;
  background: var(--brand);
}

.billing-month-bar strong {
  max-width: 100%;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-branch-chart {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 0.58fr);
  gap: 14px;
  align-items: stretch;
}

.payroll-branch-bars {
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(54px, 92px));
  justify-content: start;
}

.payroll-branch-bars .billing-month-bar strong {
  max-width: 64px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-bars-green .billing-month-bar i {
  background: #22c55e;
}

.payroll-bars-orange .billing-month-bar i {
  background: #f97316;
}

.payroll-branch-legend {
  display: grid;
  align-content: start;
  gap: 7px;
  padding-left: 12px;
  border-left: 1px solid var(--line);
}

.payroll-branch-legend span {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr);
  gap: 2px 7px;
  align-items: center;
  font-size: 0.76rem;
}

.payroll-branch-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #22c55e;
}

.payroll-bars-orange .payroll-branch-legend i {
  background: #f97316;
}

.payroll-branch-legend strong,
.payroll-branch-legend b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-branch-legend b {
  grid-column: 2;
  color: var(--muted);
  font-weight: 700;
}

@media (max-width: 900px) {
  .payroll-branch-chart {
    grid-template-columns: 1fr;
  }

  .payroll-branch-legend {
    padding-left: 0;
    border-left: 0;
  }
}

.stock-month-bars {
  height: 190px;
  display: grid;
  grid-template-columns: repeat(12, minmax(28px, 1fr));
  gap: 10px;
  align-items: end;
  padding: 8px 4px 0;
  border-bottom: 1px solid var(--line);
}

.stock-month-bar {
  height: 100%;
  display: grid;
  grid-template-rows: 20px 1fr 20px;
  align-items: end;
  justify-items: center;
  gap: 4px;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 700;
}

.stock-month-bar strong {
  min-height: 18px;
  color: #e11d2e;
  font-size: 0.72rem;
  line-height: 1;
}

.stock-month-bar span {
  width: 45%;
  min-height: 2px;
  border: 4px solid #ff1728;
  background: transparent;
}

.stock-horizontal-bars {
  display: grid;
  gap: 14px;
  padding: 8px 4px;
}

.stock-horizontal-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.8fr) minmax(180px, 1.6fr) minmax(70px, auto);
  align-items: center;
  gap: 12px;
}

.stock-horizontal-row > span {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-horizontal-row .bar {
  height: 18px;
  border: 4px solid #ff1728;
  background: transparent;
}

.stock-horizontal-row .bar span {
  display: block;
  height: 100%;
  background: #ff1728;
}

.stock-horizontal-row strong {
  color: #e11d2e;
  font-size: 0.78rem;
  text-align: right;
}

.stock-local-group-row td {
  background: #e7f0f1;
  color: #12323a;
  font-weight: 800;
}

.stock-local-total-row td {
  background: #f5f8f8;
  font-weight: 800;
}

.stock-filter-dialog .finance-filter-grid .field.full {
  grid-column: 1 / -1;
}

@media (max-width: 1180px) {
  .stock-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stock-horizontal-row {
    grid-template-columns: minmax(120px, 1fr);
  }

  .stock-horizontal-row strong {
    text-align: left;
  }
}

@media (max-width: 760px) {
  .stock-kpi-grid,
  .stock-layout {
    grid-template-columns: 1fr;
  }

  .stock-month-bars {
    gap: 5px;
    overflow-x: auto;
  }
}

.billing-panel-toggle {
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 900;
}

.billing-scope-toggle.active {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}

.billing-panel.collapsed {
  min-height: auto;
}

.billing-panel.collapsed .billing-panel-header {
  margin-bottom: 0;
}

.billing-panel.collapsed .billing-panel-body {
  display: none;
}

.billing-wide,
.billing-table-card {
  grid-column: 1 / -1;
}

.billing-bars {
  display: grid;
  gap: 10px;
}

.billing-bar-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.9fr) minmax(160px, 1.5fr) minmax(105px, auto) 34px;
  align-items: center;
  gap: 9px;
  min-height: 30px;
}

.billing-bar-row > span {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-bar-row .bar {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef3f4;
}

.billing-bar-row .bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--brand);
}

.billing-bar-row.tax .bar span {
  background: #eab308;
}

.billing-bar-row.tax.tax-green .bar span {
  background: #16a34a;
}

.billing-bar-row.tax.tax-gray .bar span {
  background: #64748b;
}

.billing-bar-row.month .bar span {
  background: #2563eb;
}

.billing-bar-row strong {
  font-size: 0.86rem;
  text-align: right;
  white-space: nowrap;
}

.billing-bar-row small {
  color: var(--muted);
  font-size: 0.74rem;
  text-align: right;
}

.billing-fiscal-note {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.billing-fiscal-note p {
  margin: 0 0 4px;
}

.billing-contracts {
  display: grid;
  gap: 12px;
}

.billing-contract-row {
  display: grid;
  grid-template-columns: minmax(190px, 0.9fr) minmax(280px, 2fr);
  gap: 12px;
  align-items: center;
}

.billing-contract-row > strong {
  min-width: 0;
  overflow: hidden;
  font-size: 0.84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.billing-contract-row > div {
  display: grid;
  gap: 5px;
}

.billing-contract-row span {
  display: grid;
  grid-template-columns: 82px 1fr 118px;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
}

.billing-contract-row i {
  height: 8px;
  border-radius: 999px;
  background: #9ca3af;
}

.billing-contract-row .contracted i { background: #64748b; }
.billing-contract-row .billed i { background: var(--brand); }
.billing-contract-row .open i { background: #f97316; }

.billing-contract-row b {
  color: var(--ink);
  text-align: right;
}

.billing-matrix-wrap {
  overflow-x: auto;
}

.billing-matrix {
  min-width: 720px;
  width: 100%;
  border-collapse: collapse;
}

.billing-five-years-matrix {
  min-width: 860px;
  table-layout: fixed;
}

.billing-five-years-matrix th:first-child,
.billing-five-years-matrix td:first-child {
  width: 120px;
}

.billing-five-years-matrix th:not(:first-child),
.billing-five-years-matrix td:not(:first-child) {
  width: calc((100% - 120px) / 6);
}

.billing-matrix th,
.billing-matrix td {
  padding: 8px 9px;
  border: 1px solid var(--line);
  font-size: 0.82rem;
  text-align: right;
  white-space: nowrap;
}

.billing-matrix th:first-child,
.billing-matrix td:first-child {
  text-align: left;
}

.billing-matrix thead th {
  background: #edf4f4;
  color: var(--muted);
  font-weight: 800;
}

.billing-matrix tfoot th,
.billing-matrix tfoot td,
.billing-matrix tbody td:last-child {
  background: #e7f5ec;
  font-weight: 800;
}

.billing-table-card table {
  min-width: 1540px;
}

.billing-table-card td,
.billing-table-card th {
  font-size: 0.82rem;
  text-transform: uppercase;
}

.billing-table-pagination {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.billing-page-info {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.billing-page-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.billing-page-actions .ghost-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

@media (max-width: 1100px) {
  .billing-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-layout {
    grid-template-columns: 1fr;
  }

  .billing-contract-row,
  .billing-bar-row {
    grid-template-columns: 1fr;
  }

  .billing-bar-row strong,
  .billing-bar-row small {
    text-align: left;
  }
}

@media (max-width: 720px) {
  .billing-kpi-grid {
    grid-template-columns: 1fr;
  }
}

.finance12-topbar {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.finance12-topbar h2 {
  margin: 0;
  font-size: 1.35rem;
}

.finance12-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  color: var(--muted);
  font-size: 0.86rem;
}

.finance12-actions strong {
  min-width: 70px;
  padding: 8px 16px;
  display: inline-flex;
  justify-content: center;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.finance12-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.85fr 1.1fr 1fr 1fr;
  grid-template-areas:
    "left gauge right dre dre"
    "revenue revenue revenue gerencial gerencial"
    "flow flow balance balance balance"
    "revenueBudget revenueBudget expenseBudget expenseBudget expenseBudget"
    "titles titles titles titles titles";
  gap: 10px;
}

.finance12-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.finance12-card,
.finance12-panel,
.finance12-gauge-card {
  border: 1px solid #e2e8ea;
  background: #fff;
}

.finance12-card {
  min-height: 116px;
  padding: 16px 12px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 7px;
  text-align: center;
}

.finance12-card .billing-kpi-icon {
  width: 26px;
  height: 26px;
}

.finance12-card span {
  color: #69777d;
  font-weight: 800;
  font-size: 0.9rem;
}

.finance12-card strong {
  font-size: 2rem;
  font-weight: 500;
}

.finance12-card small {
  color: #77858b;
  font-size: 0.84rem;
}

.finance12-card small.down,
.finance12-card.negative strong,
.finance12-budget.pagar .finance12-donut {
  color: #ff5252;
}

.finance12-card small.up,
.finance12-index strong {
  color: #0db9aa;
}

.finance12-gauge-card {
  grid-area: gauge;
  grid-row: span 1;
  display: grid;
  place-items: center;
  min-height: 240px;
}

.finance12-gauge {
  width: min(270px, 100%);
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #fff 0 47%, transparent 48%),
    conic-gradient(#ff5252 calc(var(--gauge, 0) * 1%), #d9d9d9 0);
}

.finance12-gauge-inner {
  width: 62%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border-radius: 50%;
  background: #fff;
}

.finance12-gauge-inner span,
.finance12-gauge-inner small {
  color: #737f84;
  font-weight: 800;
}

.finance12-gauge-inner strong {
  font-size: 2.25rem;
  font-weight: 500;
}

.finance12-panel {
  min-height: 250px;
  padding: 12px;
}

.finance12-left-cards { grid-area: left; }
.finance12-right-cards { grid-area: right; }
.finance12-chart-revenue { grid-area: revenue; }
.finance12-chart-flow { grid-area: flow; }
.finance12-chart-balance { grid-area: balance; }
.finance12-budget-revenue { grid-area: revenueBudget; }
.finance12-budget-expense { grid-area: expenseBudget; }
.finance12-titles { grid-area: titles; }

.finance12-panel-header {
  position: relative;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.finance12-panel-header h3 {
  padding: 0 44px;
}

.finance12-expand-btn {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 34px;
  height: 30px;
  font-weight: 800;
  line-height: 1;
}

.finance12-panel h3 {
  margin: 0 0 10px;
  text-align: center;
  color: #6c777d;
  font-size: 1rem;
}

.finance12-wide {
  grid-column: span 3;
}

.finance12-chart {
  min-height: 210px;
}

.finance12-bars {
  position: relative;
  height: 250px;
  padding: 10px 10px 44px;
  display: grid;
  grid-template-columns: repeat(12, minmax(34px, 1fr));
  gap: 8px;
  align-items: end;
  border-left: 1px solid #cfd8dc;
  border-bottom: 1px solid #cfd8dc;
}

.finance12-flow-bars {
  grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
}

.finance12-flow-bars .finance12-month {
  height: 176px;
}

.finance12-flow-bars .finance12-month .bar {
  width: 28px;
}

.finance12-flow-bars .finance12-month small {
  bottom: -34px;
  min-height: 28px;
  line-height: 1.1;
}

.finance12-month {
  position: relative;
  height: 176px;
  padding: 0;
  border: 0;
  background: transparent;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 4px;
}

.finance12-month .bar {
  width: 16px;
  min-height: 2px;
  display: block;
}

.finance12-month .positive {
  background: #0db9aa;
}

.finance12-month .negative {
  background: #ff5252;
}

.finance12-month i {
  position: absolute;
  left: 50%;
  width: 8px;
  height: 8px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #334155;
}

.finance12-month small {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -24px;
  color: #6b747a;
  font-size: 0.72rem;
  font-weight: 800;
}

.finance12-legend {
  position: absolute;
  left: 25%;
  right: 0;
  bottom: 5px;
  display: flex;
  justify-content: center;
  gap: 18px;
  color: #6c777d;
  font-size: 0.72rem;
}

.finance12-legend span::before {
  content: "";
  width: 18px;
  height: 5px;
  margin-right: 5px;
  display: inline-block;
}

.finance12-legend .receita::before { background: #0db9aa; }
.finance12-legend .despesa::before { background: #ff5252; }
.finance12-legend .lucro::before { background: #334155; height: 3px; }

.finance12-line {
  width: 100%;
  min-height: 220px;
}

.finance12-line .axis {
  stroke: #cfd8dc;
}

.finance12-line .balance {
  fill: none;
  stroke: #f4c400;
  stroke-width: 4;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.finance12-line circle {
  fill: #fff;
  stroke: #f4c400;
  stroke-width: 3;
}

.finance12-line text {
  fill: #6c777d;
  font-size: 12px;
  font-weight: 800;
}

.finance12-budget {
  display: grid;
  justify-items: center;
  gap: 14px;
}

.finance12-donut {
  width: 170px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #fff 0 55%, transparent 56%),
    conic-gradient(#0db9aa calc(var(--percent, 0) * 1%), #e2e2e2 0);
}

.finance12-budget.pagar .finance12-donut {
  background:
    radial-gradient(circle at center, #fff 0 55%, transparent 56%),
    conic-gradient(#ff5252 calc(var(--percent, 0) * 1%), #e2e2e2 0);
}

.finance12-donut strong {
  font-size: 2rem;
  color: var(--ink);
  font-weight: 500;
}

.finance12-budget-lines {
  width: 100%;
  display: grid;
  gap: 7px;
}

.finance12-budget-lines span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #6c777d;
}

.finance12-dre {
  grid-area: dre;
}

.finance12-dre-row {
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 54px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #edf1f2;
}

.finance12-dre-row.strong {
  font-weight: 800;
}

.finance12-dre-row b,
.finance12-dre-row small {
  text-align: right;
}

.finance12-titles {
  min-height: auto;
}

.finance12-titles .table-wrap {
  max-height: 420px;
}

.finance13-header-panel,
.finance13-chart-panel,
.finance13-table-panel {
  margin-bottom: 16px;
}

#dashboardFinanceiro13View .finance-dashboard-header {
  align-items: center;
}

#dashboardFinanceiro13View .dashboard-meta {
  align-items: center;
  gap: 8px;
}

#dashboardFinanceiro13View .dashboard-meta > span:first-child {
  white-space: nowrap;
}

#dashboardFinanceiro13View .dashboard-meta .icon-button {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.finance13-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-meta {
  position: relative;
}

.dashboard-about-button {
  font-weight: 800;
  font-family: Georgia, "Times New Roman", serif;
}

.dashboard-about-dialog {
  width: min(560px, calc(100vw - 32px));
}

.dashboard-about-dialog form {
  display: grid;
  gap: 14px;
}

.dashboard-about-body dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.dashboard-about-body dl > div {
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.dashboard-about-body dt {
  margin-bottom: 4px;
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.dashboard-about-body dd {
  margin: 0;
  color: #0f172a;
  font-size: 0.92rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.dashboard-about-finance13-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: min(72vh, 520px);
  padding: 0;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.dashboard-about-finance13-dialog::backdrop {
  background: rgba(15, 23, 42, 0.28);
}

.dashboard-about-finance13-form {
  position: relative;
  margin: 0;
  padding: 20px 22px 22px;
  color: #0f172a;
  font-family: Arial, sans-serif;
  max-height: min(72vh, 520px);
  overflow: auto;
}

.dashboard-about-finance13-dialog .dashboard-about-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border-radius: 8px;
}

.dashboard-about-finance13 h2 {
  max-width: calc(100% - 52px);
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 1.05rem;
  line-height: 1.3;
  font-weight: 800;
}

.dashboard-about-finance13-metrics {
  display: grid;
  gap: 2px;
  margin: 0 0 24px;
}

.dashboard-about-finance13-metrics div {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) 170px;
  gap: 24px;
  align-items: baseline;
}

.dashboard-about-finance13-metrics .spaced {
  margin-top: 22px;
}

.dashboard-about-finance13-metrics dt,
.dashboard-about-finance13-metrics dd {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
}

.dashboard-about-finance13 h3 {
  margin: 0 0 8px;
  color: #102033;
  font-size: 0.95rem;
  line-height: 1.3;
  font-weight: 800;
}

.dashboard-about-finance13 p {
  margin: 0 0 14px;
  color: #172033;
  font-size: 0.92rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.dashboard-about-finance13 section {
  margin: 16px 0;
}

.dashboard-about-finance13 .dashboard-about-api {
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #f8fafc;
  color: #334155;
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.dashboard-about-finance13 p:first-child {
  margin-bottom: 14px;
}

.finance13-refresh-progress {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 3;
  width: min(360px, 70vw);
  padding: 8px 10px;
  border: 1px solid #cfe2dc;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.finance13-refresh-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
  color: #29435e;
  font-size: 0.74rem;
}

.finance13-refresh-progress-meta strong {
  color: #0f8f78;
  font-weight: 700;
}

.finance13-refresh-progress-bar {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #dbeafe;
}

.finance13-refresh-progress-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #10b981;
  transition: width 0.25s ease;
}

.finance13-kpi-column {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 230px;
  padding: 14px;
  border: 1px solid #dbe5ec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.finance13-kpi-column h3 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: 0.86rem;
  font-weight: 800;
  text-transform: uppercase;
}

.finance13-kpi-grid,
.finance13-summary-grid,
.finance13-chart-panel,
.finance13-table-panel,
.finance13-drill-strip {
  text-transform: uppercase;
}

.finance13-kpi-card {
  position: relative;
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-rows: auto auto;
  gap: 2px 12px;
  align-items: center;
  min-height: 76px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.finance13-kpi-has-tooltip {
  cursor: help;
  z-index: 1;
}

.finance13-kpi-has-tooltip:hover,
.finance13-kpi-has-tooltip:focus-within {
  z-index: 20;
}

.finance13-kpi-tooltip {
  position: absolute;
  left: 10px;
  top: calc(100% + 10px);
  width: min(360px, 82vw);
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
  color: #0f172a;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.finance13-kpi-has-tooltip:hover .finance13-kpi-tooltip,
.finance13-kpi-has-tooltip:focus .finance13-kpi-tooltip,
.finance13-kpi-has-tooltip:focus-within .finance13-kpi-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.finance13-kpi-tooltip h4 {
  margin: 0;
  color: #0f172a;
  font-size: 0.9rem;
}

.finance13-tooltip-line,
.finance13-tooltip-docs div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
}

.finance13-tooltip-line span,
.finance13-tooltip-docs > span,
.finance13-tooltip-docs b {
  color: #475569;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: none;
}

.finance13-tooltip-line strong,
.finance13-tooltip-docs strong {
  color: #0f172a;
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
}

.finance13-tooltip-docs {
  display: grid;
  gap: 6px;
}

.finance13-tooltip-note {
  display: grid;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid #e2e8f0;
  color: #475569;
  font-size: 0.78rem;
  line-height: 1.35;
}

.finance13-tooltip-note strong {
  color: #92400e;
  font-size: 0.78rem;
}

.finance13-tooltip-note span {
  color: #475569;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: none;
}

.finance13-kpi-icon {
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
}

.finance13-kpi-positive .finance13-kpi-icon {
  color: #047857;
  background: #d1fae5;
}

.finance13-kpi-critical .finance13-kpi-icon {
  color: #dc2626;
  background: #fee2e2;
}

.finance13-kpi-info .finance13-kpi-icon {
  color: #2563eb;
  background: #dbeafe;
}

.finance13-kpi-warning .finance13-kpi-icon {
  color: #b45309;
  background: #fef3c7;
}

.finance13-kpi-column span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: none;
}

.finance13-kpi-column strong {
  color: #0f172a;
  font-size: 1.28rem;
  line-height: 1.1;
}

.finance13-kpi-column .finance13-tooltip-note strong {
  color: #92400e;
  font-size: 0.78rem;
  line-height: 1.35;
}

.finance13-kpi-column .finance13-tooltip-note span {
  color: #475569;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: none;
}

.finance13-kpi-column article.negative strong,
.finance13-horizontal-chart .negative-value {
  color: #dc2626;
}

.finance13-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.finance13-summary-panel {
  padding: 12px;
}

.finance13-summary-panel h2,
.finance13-chart-panel h2 {
  margin: 0;
  font-size: 0.98rem;
}

.finance13-horizontal-chart {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
  min-height: 218px;
  max-height: 360px;
  overflow: hidden;
  align-content: stretch;
}

.finance13-comparison-chart {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
  min-height: 252px;
  max-height: 360px;
  overflow: hidden;
  align-content: stretch;
}

.finance13-comparison-rows {
  display: grid;
  gap: 18px;
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
  align-content: start;
}

.finance13-comparison-row {
  display: grid;
  grid-template-columns: minmax(190px, 0.95fr) minmax(260px, 1.7fr);
  gap: 12px;
  align-items: center;
}

.finance13-comparison-row > span {
  min-width: 0;
  overflow: hidden;
  color: #0f172a;
  font-size: 0.9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance13-comparison-bars {
  display: grid;
  gap: 2px;
}

.finance13-comparison-bars i {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) 116px;
  gap: 10px;
  align-items: center;
  height: 20px;
}

.finance13-comparison-bars b {
  display: block;
  height: 100%;
  border-radius: 999px;
}

.finance13-comparison-bars b.contrato {
  background: #a8a8a8;
}

.finance13-comparison-bars b.receber {
  background: #08af52;
}

.finance13-comparison-bars b.pagar {
  background: #ff1515;
}

.finance13-comparison-bars strong {
  color: #020617;
  font-size: 0.84rem;
  font-weight: 500;
  text-align: right;
  white-space: nowrap;
}

.finance13-comparison-bars .finance13-payment-value,
.finance13-comparison-bars strong.negative-value {
  color: #dc2626;
}

.finance13-horizontal-rows {
  display: grid;
  gap: 8px;
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
  align-content: start;
}

.finance13-horizontal-row {
  display: grid;
  grid-template-columns: 190px minmax(120px, 1fr) 120px;
  gap: 10px;
  align-items: center;
}

.finance13-horizontal-row > span {
  overflow: hidden;
  color: #0f172a;
  font-size: 0.86rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance13-horizontal-row i {
  display: block;
  height: 24px;
  background: transparent;
}

.finance13-horizontal-row b {
  display: block;
  height: 100%;
  border-radius: 999px;
}

.finance13-horizontal-row b.negative {
  background: #ff1515;
}

.finance13-horizontal-row b.positive {
  background: #08af52;
}

.finance13-horizontal-row strong {
  text-align: right;
  font-size: 0.86rem;
  font-weight: 500;
}

.finance13-horizontal-totals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
  color: #0f172a;
  font-size: 0.86rem;
}

.finance13-horizontal-totals span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.finance13-upcoming-chart {
  min-height: 330px;
  padding: 10px 10px 4px;
  border: 0;
  background: #fff;
}

.finance13-upcoming-summary {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  margin-bottom: 8px;
  color: #0f172a;
  font-size: 0.86rem;
}

.finance13-upcoming-summary span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.finance13-upcoming-summary strong {
  font-weight: 500;
}

.finance13-upcoming-plot {
  display: grid;
  grid-template-columns: repeat(15, minmax(42px, 1fr));
  gap: 4px;
  align-items: end;
  min-height: 286px;
  padding-top: 56px;
}

.finance13-upcoming-day {
  display: grid;
  grid-template-rows: 1fr 22px;
  align-items: end;
  min-width: 0;
}

.finance13-upcoming-day > span {
  color: #020617;
  font-size: 0.82rem;
  text-align: center;
}

.finance13-upcoming-day .finance13-upcoming-bars {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 3px;
  min-height: 252px;
}

.finance13-upcoming-bar {
  position: relative;
  width: 22px;
  min-height: 0;
  border-radius: 999px 999px 4px 4px;
}

.finance13-upcoming-bar.pagar {
  background: #ff1515;
}

.finance13-upcoming-bar.receber {
  background: #08af52;
}

.finance13-upcoming-bar strong {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  color: #020617;
  padding: 2px 4px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  transform: translateX(-50%);
  white-space: nowrap;
}

.finance13-forecast-row td {
  background: #fff3b8;
  box-shadow: inset 0 1px 0 #eab308, inset 0 -1px 0 #eab308;
}

.finance13-table-panel .table-wrap {
  max-height: 560px;
}

.finance13-table-panel table {
  min-width: 1320px;
  font-size: 0.82rem;
}

.finance13-table-panel th {
  font-size: 0.78rem;
}

.finance13-sort-button,
.billing-sort-button {
  width: 100%;
  border: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.finance13-sort-button:hover,
.billing-sort-button:hover {
  color: #0f766e;
}

.finance13-sort-button .os-sort-indicator,
.billing-sort-button .os-sort-indicator {
  border-top: 6px solid currentColor;
}

.finance13-sort-button.active.asc .os-sort-indicator,
.billing-sort-button.active.asc .os-sort-indicator {
  border-top: 0;
  border-bottom: 6px solid currentColor;
  opacity: 1;
}

.finance13-sort-button.active.desc .os-sort-indicator,
.billing-sort-button.active.desc .os-sort-indicator {
  border-top: 6px solid currentColor;
  opacity: 1;
}

.finance13-table-panel td {
  font-size: 0.82rem;
  font-weight: 400;
}

.finance13-table-panel td:nth-child(3) .finance-status-cell {
  margin-right: 0;
}

.finance13-status-only {
  text-align: center;
}

.finance-nature-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  white-space: nowrap;
}

.finance-nature-cell i {
  display: inline-block;
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 999px;
  background: #94a3b8;
}

.finance-nature-pagar i {
  background: #dc2626;
}

.finance-nature-receber i {
  background: #16a34a;
}

.finance13-table-panel .numeric {
  text-align: right;
  font-weight: 400;
}

.finance14-header-panel {
  margin-bottom: 16px;
}

.finance14-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.finance14-chart-panel {
  min-height: 350px;
}

.finance14-wide-panel {
  grid-column: 1 / -1;
  min-height: 320px;
}

.finance14-chart-panel h2 {
  font-size: 0.95rem;
  font-weight: 800;
  text-transform: none;
}

.finance14-chart-body {
  min-height: 280px;
  padding: 8px 10px 12px;
}

.finance14-legend,
.finance14-line-legend {
  display: flex;
  justify-content: flex-end;
  gap: 22px;
  margin-bottom: 10px;
  color: #0f172a;
  font-size: 0.86rem;
}

.finance14-legend span,
.finance14-line-legend span {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.finance14-line-legend span::before {
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: #1f2937;
  content: "";
}

.finance14-line-legend span.strong::before {
  background: #64748b;
}

.finance14-bars {
  display: grid;
  grid-template-columns: repeat(12, minmax(44px, 1fr));
  gap: 8px;
  align-items: end;
  min-height: 238px;
  padding-top: 44px;
}

.finance14-bar-group {
  display: grid;
  grid-template-rows: 1fr 22px;
  align-items: end;
  min-width: 0;
}

.finance14-bar-stack {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 5px;
  height: 190px;
}

.finance14-bar {
  position: relative;
  display: block;
  width: 20px;
  min-height: 0;
  border-radius: 999px 999px 4px 4px;
  background: #08af52;
}

.finance14-bar.soft {
  background: #c5e6b6;
}

.finance14-bar.strong {
  background: #08af52;
}

.finance14-bar.negative {
  background: #ef4444;
}

.finance14-bar b {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 7px);
  transform: translateX(-50%);
  color: #020617;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}

.finance14-bar.negative b {
  color: #dc2626;
}

.finance14-bar-group > strong {
  overflow: hidden;
  color: #020617;
  font-size: 0.78rem;
  font-weight: 500;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance14-line-wrap {
  min-height: 270px;
}

.finance14-line-chart {
  width: 100%;
  min-height: 260px;
}

.finance14-line-chart polyline {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.finance14-line-chart polyline.soft,
.finance14-line-chart circle.soft {
  stroke: #111827;
  fill: #111827;
}

.finance14-line-chart polyline.strong,
.finance14-line-chart circle.strong {
  stroke: #64748b;
  fill: #64748b;
}

.finance14-line-chart text {
  fill: #020617;
  font-size: 12px;
}

.finance14-note {
  margin: 0 0 8px;
  color: #475569;
  font-size: 0.84rem;
}

.finance14-cashflow-panel {
  min-height: 420px;
}

.finance14-cashflow-wrap {
  overflow: auto;
  max-width: 100%;
  padding-bottom: 8px;
}

.finance14-cashflow-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: #020617;
  background: #fff;
  font-size: 0.82rem;
  table-layout: fixed;
}

.finance14-cashflow-table th,
.finance14-cashflow-table td {
  width: 96px;
  min-width: 96px;
  padding: 5px 8px;
  border: 0;
  border-bottom: 1px solid #d9e2ec;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.finance14-cashflow-table thead th {
  background: #f8fafc;
  color: #020617;
  font-weight: 500;
  text-align: center;
  border-top: 1px solid #d9e2ec;
}

.finance14-cashflow-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 260px;
  min-width: 260px;
  background: #fff;
  font-weight: 500;
  text-align: left;
}

.finance14-cashflow-table thead tr:first-child th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 260px;
  min-width: 260px;
  text-align: left;
}

.finance14-cashflow-table thead tr:nth-child(2) th:nth-child(odd),
.finance14-cashflow-table tbody td:nth-child(even) {
  width: 124px;
  min-width: 124px;
}

.finance14-cashflow-table thead tr:nth-child(2) th:nth-child(even),
.finance14-cashflow-table tbody td:nth-child(odd) {
  width: 72px;
  min-width: 72px;
  text-align: center;
}

.finance14-cashflow-table tbody td:nth-child(even) {
  text-align: right;
}

.finance14-cashflow-group th,
.finance14-cashflow-group td {
  font-weight: 800;
}

.finance14-cashflow-group.receita th,
.finance14-cashflow-group.receita td {
  background: #c6e0b4;
}

.finance14-cashflow-group.despesa th,
.finance14-cashflow-group.despesa td {
  background: #ffd966;
}

.finance14-cashflow-table td.negative,
.finance14-cashflow-table td.negative span {
  color: #dc2626;
  font-weight: 800;
}

.finance14-cashflow-table td.positive {
  color: #047857;
}

.finance14-cashflow-table td.variation {
  font-size: 0.76rem;
  font-weight: 700;
}

.finance14-cashflow-result th,
.finance14-cashflow-result td {
  background: #e8eef3;
  border-top: 2px solid #b8c5d1;
  font-weight: 900;
}

.finance14-cashflow-item th {
  padding-left: 26px;
}

.finance14-cashflow-item td,
.finance14-cashflow-item td span {
  font-weight: 400;
}

.finance14-cashflow-item td.variation {
  font-weight: 500;
}

.finance14-cashflow-item.despesa th,
.finance14-cashflow-item.despesa td,
.finance14-cashflow-item.despesa td span {
  color: #dc2626;
}

.finance14-cashflow-item.receita th,
.finance14-cashflow-item.receita td {
  color: #065f46;
}

.finance12-expanded {
  position: fixed;
  inset: 16px;
  z-index: 80;
  min-height: auto;
  overflow: auto;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
}

.finance12-expanded .finance12-chart {
  min-height: 70vh;
}

.finance12-expanded .finance12-bars {
  height: 70vh;
}

.finance12-expanded .finance12-line {
  min-height: 65vh;
}

body.finance12-modal-open {
  overflow: hidden;
}

@media (max-width: 1320px) {
  .finance14-layout {
    grid-template-columns: 1fr;
  }

  .finance14-bars {
    overflow-x: auto;
    grid-template-columns: repeat(12, minmax(56px, 1fr));
  }

  .finance13-kpi-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }

  .finance13-summary-grid {
    grid-template-columns: 1fr;
  }

  .finance13-upcoming-plot {
    grid-template-columns: repeat(8, minmax(42px, 1fr));
  }

  .finance12-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "left gauge"
      "right right"
      "revenue revenue"
      "gerencial gerencial"
      "flow flow"
      "balance balance"
      "dre dre"
      "titles titles";
  }

  .finance12-wide,
  .finance12-dre {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .finance13-kpi-grid {
    grid-template-columns: 1fr;
  }

  .finance13-horizontal-row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .finance13-horizontal-row strong {
    text-align: left;
  }

  .finance13-horizontal-totals {
    grid-template-columns: 1fr;
  }

  .finance13-upcoming-chart {
    overflow-x: auto;
  }

  .finance13-upcoming-plot {
    min-width: 680px;
    grid-template-columns: repeat(15, minmax(42px, 1fr));
  }

  .parameters-config-grid,
  .parameters-tabs,
  .totvs-config-grid {
    grid-template-columns: 1fr;
  }

  .parameter-row,
  .parameter-row-text,
  .totvs-parameter-row {
    grid-template-columns: 1fr;
  }

  .parameter-row p {
    grid-column: 1;
  }

  .finance12-topbar,
  .finance12-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .finance12-layout,
  .finance12-card-grid {
    grid-template-columns: 1fr;
  }

  .finance12-layout {
    grid-template-areas:
      "left"
      "gauge"
      "right"
      "revenueBudget"
      "expenseBudget"
      "revenue"
      "flow"
      "balance"
      "dre"
      "titles";
  }
}

.shortcut-panel {
  margin-bottom: 16px;
}

.shortcut-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.shortcut-card {
  min-height: 76px;
  padding: 12px;
  background: var(--surface);
  border-color: var(--line);
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 3px 10px;
  align-items: center;
  text-align: left;
}

.shortcut-card .nav-icon {
  grid-row: span 2;
  background: #e5f3e5;
  color: var(--brand-strong);
}

.shortcut-card small {
  color: var(--muted);
}

.panel {
  padding: 16px;
}

.panel-header {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.health-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.muted-text {
  margin: 4px 0 0;
  color: var(--muted);
}

.worker-command-panel {
  margin: 0 0 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.worker-command-panel h3 {
  margin: 0;
}

.worker-command-panel code {
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--surface-2);
  white-space: nowrap;
  max-width: 100%;
  overflow: auto;
}

.worker-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.editor-panel {
  margin-bottom: 14px;
}

.editor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.inline-form {
  margin-top: 14px;
}

.full-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inline-actions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}

.status-board {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.status-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 1fr 42px;
  align-items: center;
  gap: 12px;
}

.bar {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-2);
}

.bar span {
  display: block;
  height: 100%;
  background: var(--brand);
}

.stack-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.list-item {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
}

.list-item small,
.record-meta,
.empty-state {
  color: var(--muted);
}

.toolbar {
  justify-content: space-between;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.pagination-bar {
  min-height: 44px;
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--muted);
}

.pagination-bar .spacer {
  flex: 1 1 auto;
}

.page-summary {
  font-weight: 700;
}

.column-chooser {
  width: min(680px, 100%);
  margin: -4px 0 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px;
}

.column-chooser-title {
  grid-column: 1 / -1;
  font-weight: 800;
}

.column-chooser label {
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
}

.column-chooser-row {
  min-height: 38px;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.column-chooser-row.fixed {
  background: #eef6f5;
  border-color: #c9dfdc;
}

.column-chooser-row small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.column-chooser-actions {
  display: flex;
  gap: 4px;
}

.icon-button.compact {
  width: 30px;
  height: 30px;
  min-height: 30px;
}

.os-actions-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}

.search-box {
  flex: 1 1 320px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  display: flex;
  align-items: center;
  gap: 8px;
}

.sql-toolbar {
  justify-content: flex-start;
}

.sql-toolbar select {
  max-width: 280px;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.sql-panel {
  margin-bottom: 14px;
}

.sql-editor {
  width: 100%;
  min-height: 140px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  resize: vertical;
  font-family: Consolas, "Courier New", monospace;
  line-height: 1.45;
}

.search-box input,
select,
.field input,
.field textarea {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
}

select {
  min-height: 42px;
  min-width: 180px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.primary-button {
  padding: 0 16px;
  background: var(--brand);
  color: white;
  border-color: var(--brand);
  font-weight: 700;
}

.primary-button:hover {
  background: var(--brand-strong);
}

.ghost-button {
  padding: 0 12px;
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.sidebar .ghost-button {
  background: #243438;
  color: #f8fafc;
  border-color: #31464c;
}

.icon-button {
  width: 42px;
  min-width: 42px;
  padding: 0;
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
  font-size: 1.35rem;
}

.danger {
  color: var(--danger);
}

.records-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 12px;
}

.record-card {
  padding: 14px;
  display: grid;
  gap: 10px;
}

.record-card header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.record-card h3 {
  line-height: 1.25;
}

.pill {
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 700;
}

.pill.ok {
  background: #dcfce7;
  color: var(--ok);
}

.pill.warn {
  background: #fef3c7;
  color: var(--warn);
}

.pill.info {
  background: #dbeafe;
  color: var(--info);
}

.pill.danger {
  background: #fee2e2;
  color: #991b1b;
}

.pill.retry {
  background: #ffedd5;
  color: #c2410c;
}

.pill.neutral {
  background: #e5e7eb;
  color: #4b5563;
}

.record-actions {
  display: flex;
  gap: 8px;
}

.grid-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  white-space: nowrap;
}

.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

#cadastroView.project-split-active {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  min-height: calc(100vh - 190px);
}

#cadastroView.project-split-active > .table-wrap {
  display: none;
}

#cadastroView.project-split-active > #cadastroPagination {
  display: none;
}

.project-tasks-panel {
  margin-top: 0;
  padding-top: 10px;
  border-top: 2px solid var(--line);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  min-height: 0;
}

.project-tasks-header,
.project-tasks-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.project-tasks-header {
  justify-content: space-between;
  flex-wrap: wrap;
}

.project-tasks-header h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.project-tasks-header p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.project-tasks-table-wrap {
  min-height: 0;
  max-height: none;
}

#cadastroView.project-split-active .project-tasks-panel {
  border-top: 0;
  padding-top: 0;
  min-height: 0;
}

.project-task-actions-cell {
  width: 1%;
  white-space: nowrap;
}

#cadastroView[data-cadastro-module="projetos"] > .table-wrap table {
  min-width: 1120px;
}

#cadastroView[data-cadastro-module="projetos"] > .table-wrap th:nth-child(1),
#cadastroView[data-cadastro-module="projetos"] > .table-wrap td:nth-child(1) {
  width: 48px;
}

#cadastroView[data-cadastro-module="projetos"] > .table-wrap th:nth-child(2),
#cadastroView[data-cadastro-module="projetos"] > .table-wrap td:nth-child(2) {
  width: 170px;
}

#cadastroView[data-cadastro-module="projetos"] > .table-wrap th:nth-child(3),
#cadastroView[data-cadastro-module="projetos"] > .table-wrap td:nth-child(3) {
  min-width: 480px;
}

#cadastroView[data-cadastro-module="projetos"] > .table-wrap th:nth-child(4),
#cadastroView[data-cadastro-module="projetos"] > .table-wrap td:nth-child(4) {
  width: 220px;
}

#cadastroView[data-cadastro-module="projetos"] > .table-wrap th:nth-child(5),
#cadastroView[data-cadastro-module="projetos"] > .table-wrap td:nth-child(5) {
  width: 150px;
  text-align: right;
}

.parameter-integration-panel {
  display: grid;
  gap: 12px;
}

.parameter-cadastro-toolbar {
  gap: 12px;
  margin-bottom: 0;
}

.parameter-integration-search {
  min-width: min(100%, 360px);
}

.parameter-integration-table-wrap {
  max-height: min(62vh, 680px);
  border-color: #cfdbe0;
  box-shadow: 0 8px 24px rgba(30, 42, 47, 0.06);
}

.parameter-integration-table {
  min-width: 1540px;
  table-layout: auto;
}

.parameter-integration-table th,
.parameter-integration-table td {
  padding: 10px 12px;
  vertical-align: middle;
  white-space: nowrap;
}

.parameter-integration-table thead th {
  position: sticky;
  top: 38px;
  z-index: 3;
  background: #edf4f6;
  color: #506772;
  border-bottom-color: #cbd8dd;
}

.parameter-integration-table thead .column-filter-row th {
  top: 0;
  z-index: 5;
  background: #f7fafb;
}

.parameter-integration-table tbody tr:nth-child(even) {
  background: #f8fbfc;
}

.parameter-integration-table tbody tr:hover {
  background: #eef8f6;
}

.parameter-integration-table .select-column {
  width: 44px;
  text-align: center;
}

.parameter-integration-table .action-column {
  width: 210px;
  min-width: 210px;
  position: sticky;
  right: 0;
  z-index: 1;
  background: inherit;
  box-shadow: -1px 0 0 var(--line);
  text-align: right;
}

.parameter-integration-table thead .action-column {
  z-index: 6;
  background: #edf4f6;
}

.parameter-integration-table .column-filter-row .action-column,
.parameter-integration-table thead .column-filter-row th:last-child {
  z-index: 7;
  background: #f7fafb;
}

.row-action-group {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 186px;
}

.integration-action-button {
  width: 34px;
  min-width: 34px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.integration-action-button .action-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  background: currentColor;
}

.parameter-integration-table .ghost-button.compact,
.pagination-bar .ghost-button.compact {
  min-height: 32px;
  padding: 0 10px;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  background: var(--surface-2);
  font-size: 0.78rem;
  text-transform: uppercase;
  color: var(--muted);
}

.column-filter-row th {
  padding: 6px 8px;
  background: #f8fafc;
}

.column-filter-input {
  width: 100%;
  min-width: 72px;
  height: 28px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 0.75rem;
  text-transform: none;
  color: var(--text);
  background: var(--surface);
}

.column-filter-input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.12);
}

td:last-child,
th:last-child {
  width: 120px;
  text-align: right;
}

dialog {
  width: min(980px, calc(100vw - 28px));
  height: min(780px, calc(100vh - 28px));
  border: 0;
  border-radius: 8px;
  padding: 0;
  box-shadow: var(--shadow);
  overflow: hidden;
}

#recordDialog[data-collection="ordens"] {
  width: min(1040px, calc(100vw - 36px));
  height: min(760px, calc(100vh - 36px));
  max-width: 1040px;
  max-height: 760px;
  background: #e8edf0;
}

.small-dialog {
  width: min(560px, calc(100vw - 28px));
  height: auto;
}

#osDateActionDialog {
  width: min(520px, calc(100vw - 36px));
  height: auto;
  min-height: 0;
  max-height: min(260px, calc(100vh - 48px));
  overflow: hidden;
}

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

.help-dialog {
  width: min(720px, calc(100vw - 32px));
  height: auto;
  max-height: calc(100vh - 32px);
  color: var(--text);
  background: var(--surface);
}

.help-dialog::backdrop {
  background: rgba(15, 23, 42, 0.58);
  backdrop-filter: blur(2px);
}

.help-dialog-content {
  padding: 24px;
  overflow-y: auto;
}

.help-dialog-header {
  align-items: flex-start;
  margin-bottom: 20px;
}

.help-dialog-header h2 {
  margin: 3px 0 6px;
  font-size: 1.35rem;
}

.help-dialog-header p {
  margin: 0;
  color: var(--muted);
}

.help-dialog-eyebrow {
  color: var(--brand);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.help-technology-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.help-technology-list article {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 82px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-muted);
}

.help-technology-list article strong {
  color: var(--brand);
  font-size: 0.82rem;
}

.help-technology-list article span {
  line-height: 1.45;
}

.help-dialog-summary {
  margin: 18px 0 0;
  padding: 14px 16px;
  border-left: 4px solid var(--brand);
  border-radius: 0 8px 8px 0;
  line-height: 1.6;
  background: rgba(15, 118, 110, 0.08);
}

.help-dialog-actions {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

@media (max-width: 620px) {
  .help-dialog-content {
    padding: 18px;
  }

  .help-technology-list {
    grid-template-columns: 1fr;
  }
}

.dashboard-api-sync-dialog {
  width: min(980px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  padding: 0;
}

.dashboard-api-sync-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
}

.dashboard-api-sync-card .modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-api-sync-card h3 {
  margin: 0 0 6px;
  font-size: 18px;
}

.dashboard-api-sync-card p {
  margin: 0;
  color: var(--muted);
}

.dashboard-api-sync-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface-muted);
}

.dashboard-api-sync-progress {
  position: relative;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5edf6;
}

.dashboard-api-sync-progress span {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #14b8a6);
  transition: width 0.25s ease;
}

.dashboard-api-sync-progress.loading span {
  min-width: 32%;
  animation: dashboardApiSyncLoading 1.25s ease-in-out infinite;
}

.dashboard-api-sync-progress.erro span {
  background: #dc2626;
}

.dashboard-api-sync-progress.ok span {
  background: #16a34a;
}

@keyframes dashboardApiSyncLoading {
  0% {
    left: -35%;
    width: 35%;
  }

  50% {
    width: 55%;
  }

  100% {
    left: 100%;
    width: 35%;
  }
}

.dashboard-api-sync-url {
  overflow: hidden;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-api-sync-log {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
}

.dashboard-api-sync-log h4 {
  margin: 0 0 8px;
  font-size: 13px;
}

.dashboard-api-sync-log ol {
  display: grid;
  gap: 6px;
  max-height: 150px;
  overflow: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dashboard-api-sync-log li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  color: #334155;
  font-size: 12px;
}

.dashboard-api-sync-log time {
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

.dashboard-api-sync-log li.ok span {
  color: #166534;
}

.dashboard-api-sync-log li.error span {
  color: #b91c1c;
}

.dashboard-api-sync-detail {
  max-height: 150px;
  overflow: auto;
  margin: 0;
  padding: 10px;
  border: 1px solid #fecaca;
  border-radius: 6px;
  background: #fff1f2;
  color: #7f1d1d;
  font-size: 12px;
  white-space: pre-wrap;
}

.dashboard-api-sync-table {
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.dashboard-api-sync-table table {
  width: 100%;
  border-collapse: collapse;
}

.dashboard-api-sync-table th,
.dashboard-api-sync-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  white-space: nowrap;
}

.dashboard-api-sync-table th {
  position: sticky;
  top: 0;
  background: var(--surface-muted);
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}

.dashboard-api-sync-card .modal-actions {
  display: flex;
  justify-content: flex-end;
}

#recordForm {
  padding: 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#recordDialog[data-collection="ordens"] #recordForm {
  padding: 16px;
  background: #e8edf0;
}

.small-dialog form {
  padding: 18px;
}

#osDateActionDialog form {
  height: auto;
  min-height: 0;
  padding: 18px;
}

#osDateActionDialog .dialog-header {
  margin-bottom: 12px;
}

#osDateActionDialog .form-grid {
  grid-template-columns: 1fr;
  gap: 10px;
}

#osDateActionDialog .dialog-actions {
  margin-top: 12px;
}

.dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

#recordDialog[data-collection="ordens"] .dialog-header {
  margin-bottom: 12px;
}

.dialog-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}

#recordDialog[data-collection="ordens"] .dialog-tabs {
  margin-bottom: 12px;
}

#recordDialog[data-collection="ordens"] .dialog-tab {
  min-height: 36px;
  padding: 0 12px;
}

.dialog-tab {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--surface-2);
  color: var(--ink);
  font-weight: 700;
}

.dialog-tab.active {
  background: var(--surface);
  color: var(--brand-strong);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.client-layout-field { grid-column:1/-1; }
.client-layout-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px; border:1px dashed #91aaa7; border-radius:10px; background:#f5faf9; }
.client-layout-card > div:first-child { display:grid; gap:5px; min-width:0; }
.client-layout-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.client-layout-card small { color:var(--muted); }
.client-layout-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.client-layout-actions input[type="file"] { display:none; }
.client-layout-designer { width:min(1180px,96vw); max-width:none; }
.client-layout-designer-body { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:18px; min-height:580px; }
.client-layout-designer-body > div { display:grid; grid-template-rows:auto 1fr auto; gap:7px; min-width:0; }
.client-layout-designer-body label { font-weight:800; color:#38504f; }
.client-layout-designer-body textarea,.client-layout-designer-body iframe { width:100%; min-height:520px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.client-layout-designer-body textarea { resize:none; padding:12px; font:12px/1.5 Consolas,monospace; }
@media (max-width:800px) { .client-layout-card { align-items:stretch; flex-direction:column; }.client-layout-designer-body { grid-template-columns:1fr; }.client-layout-designer-body textarea,.client-layout-designer-body iframe { min-height:360px; } }
.approval-signal{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800;background:#eef2f2;color:#607172}.approval-signal.pending{background:#fff4d7;color:#8b6415}.approval-signal.success{background:#e1f4e9;color:#126c48}.approval-signal.danger{background:#fdeaea;color:#a13737}.approval-client-button{border-color:#7bb8a6;color:#0f766e}
.approval-history-grid{padding:16px}.approval-history-grid table{min-width:900px}.approval-observation-text{display:block;max-width:320px;margin-top:5px;color:var(--muted);white-space:normal}.approval-documents-list{display:grid;gap:10px;padding:18px}.approval-documents-list article{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#f8fbfa}.approval-documents-list article>.action-icon{flex:0 0 22px;width:22px;height:22px;background:#0f766e}.approval-documents-list article>div{display:grid;gap:4px}.approval-documents-list article small{color:var(--muted)}

#recordDialog[data-collection="ordens"] .form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#formFields {
  flex: 1;
  align-content: start;
  min-height: 0;
  overflow: auto;
}

#recordDialog[data-collection="ordens"] #formFields {
  overflow: visible;
}

.field {
  min-width: 0;
  display: grid;
  gap: 6px;
}

#recordDialog[data-collection="ordens"] .field {
  gap: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#recordDialog[data-collection="ordens"] .field label {
  font-size: 0.78rem;
}

.field.wide {
  grid-column: span 2;
}

.field.full {
  grid-column: 1 / -1;
}

.field label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.field input,
.field textarea,
.field select {
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

#recordDialog[data-collection="ordens"] .field input,
#recordDialog[data-collection="ordens"] .field textarea,
#recordDialog[data-collection="ordens"] .field select {
  min-height: 38px;
  padding: 7px 10px;
  background: #fff;
}

#recordDialog[data-collection="ordens"] .field textarea {
  min-height: 58px;
}

#recordDialog[data-collection="ordens"] .dialog-actions {
  margin-top: 12px;
}

dialog.app-error-dialog {
  width: min(540px, calc(100vw - 32px));
  height: auto;
  min-height: 0;
  max-height: min(320px, calc(100vh - 48px));
  overflow: auto;
  z-index: 2147483647;
  border: 1px solid #d8e2ec;
  border-radius: 8px;
  padding: 0;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.32);
}

dialog.app-error-dialog::backdrop {
  background: rgba(15, 23, 42, 0.58);
  backdrop-filter: blur(3px);
}

dialog.app-error-dialog form {
  height: auto;
  min-height: 0;
  padding: 18px;
}

dialog.app-error-dialog .dialog-header {
  margin-bottom: 12px;
}

dialog.app-error-dialog .error-popup-body {
  max-height: 140px;
  overflow: auto;
  margin: 0 0 16px;
  color: var(--text);
  line-height: 1.45;
  white-space: pre-wrap;
}

dialog.app-warning-dialog {
  width: min(520px, calc(100vw - 32px));
  height: auto;
  min-height: 0;
  max-height: min(340px, calc(100vh - 48px));
  overflow: auto;
  z-index: 2147483647;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 0;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.32);
}

dialog.app-warning-dialog::backdrop {
  background: rgba(15, 23, 42, 0.58);
  backdrop-filter: blur(3px);
}

dialog.app-warning-dialog form {
  height: auto;
  min-height: 0;
  padding: 18px;
}

dialog.app-warning-dialog .dialog-header {
  margin-bottom: 12px;
}

.warning-popup-content {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
  margin-bottom: 16px;
}

.warning-popup-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 10px;
  color: #b45309;
  background: #fff7ed;
}

.warning-popup-icon svg {
  width: 28px;
  height: 28px;
}

.warning-popup-body {
  margin: 0;
  color: var(--text);
  font-weight: 800;
  line-height: 1.45;
}

.readonly-field {
  background: #eef3f4 !important;
  color: var(--muted);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

.checkbox-field {
  align-content: end;
}

.checkbox-field input {
  width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
}

.field textarea {
  min-height: 82px;
  resize: vertical;
}

.items-editor {
  margin-top: 0;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.apontamento-editor {
  margin-top: 0;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
}

.integration-editor {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.integration-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
}

.integration-detail-field {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.integration-detail-field span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.integration-detail-field strong {
  min-height: 24px;
  color: var(--ink);
}

.integration-detail-status {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.integration-detail-status p {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.integration-table-wrap tbody tr {
  cursor: pointer;
}

.integration-table-wrap tbody tr:hover {
  background: #f8fafc;
}

.integration-history-row td {
  padding: 0;
  background: #fbfdff;
}

.integration-history {
  padding: 12px;
  display: grid;
  gap: 10px;
}

.integration-cockpit {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.sync-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.sync-flow div,
.health-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.sync-flow strong,
.sync-flow span,
.health-card strong,
.health-card span {
  display: block;
}

.sync-flow span {
  color: var(--muted);
  margin-top: 6px;
}

.health-card span {
  font-size: 1.7rem;
  font-weight: 800;
}

.health-card.ok {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

.health-card.error {
  background: #fef2f2;
  border-color: #fecaca;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
}

.badge.ok {
  background: #dcfce7;
  color: #166534;
}

.badge.warn {
  background: #fef3c7;
  color: #a16207;
}

.badge.error {
  background: #fee2e2;
  color: #b91c1c;
}

.badge.neutral {
  background: #e5e7eb;
  color: #374151;
}

.checkbox-list {
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
}

.schedule-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 0;
  max-height: 190px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.schedule-picker .checkbox-row {
  min-height: 28px;
  padding: 4px 10px;
}

.schedule-picker .schedule-all {
  grid-column: 1 / -1;
  background: #eef8f6;
  font-weight: 700;
}

.cockpit-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 10px;
}

.integration-monitor-toolbar {
  justify-content: flex-start;
}

.cockpit-kpis article,
.cockpit-section {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.cockpit-kpis article {
  padding: 14px;
  display: grid;
  gap: 6px;
}

.cockpit-kpis span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cockpit-kpis strong {
  font-size: 1.7rem;
}

.sync-conflict-panel {
  margin-top: 12px;
  padding: 12px;
  border-color: #f2b8b5;
  background: #fffafa;
}

.sync-conflict-list {
  display: grid;
  gap: 10px;
}

.sync-conflict-list article {
  border: 1px solid #f2b8b5;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}

.sync-conflict-list p,
.sync-conflict-list small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.sync-conflict-actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.worker-state {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.worker-state i {
  width: 13px;
  height: 13px;
  border-radius: 999px;
  display: inline-block;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px var(--line);
}

.worker-state.online i {
  background: #16a34a;
}

.worker-state.offline i {
  background: #dc2626;
}

.cockpit-section {
  padding: 12px;
  display: grid;
  gap: 10px;
}

.dashboard-ops-panel {
  margin-top: 12px;
}

.compact-header {
  align-items: flex-start;
}

.compact-header h3 {
  margin: 0;
}

.compact-table th,
.compact-table td {
  font-size: 0.86rem;
  vertical-align: top;
}

.integration-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 8px;
}

.integration-check {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  display: grid;
  gap: 5px;
}

.integration-check strong {
  font-size: 0.82rem;
}

.integration-check span {
  color: var(--muted);
  font-size: 0.78rem;
}

.integration-check.ok {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.integration-check.warn,
.integration-check.neutral {
  border-color: #fde68a;
  background: #fffbeb;
}

.integration-check.danger {
  border-color: #fecaca;
  background: #fef2f2;
}

.cockpit-alerts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cockpit-alert,
.cockpit-ok {
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.86rem;
  font-weight: 700;
}

.cockpit-alert {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}

.cockpit-ok {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.os-integration-history {
  margin-top: 16px;
  padding: 0;
}

.integration-history-title {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.integration-log-list {
  display: grid;
  gap: 8px;
}

.integration-log-item {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto;
  gap: 8px 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.integration-log-item span,
.integration-log-item small {
  display: block;
  color: var(--muted);
}

.integration-log-item p {
  grid-column: 1 / -1;
  margin: 0;
}

.integration-error-text {
  padding: 8px;
  border-radius: 8px;
  background: #fef2f2;
  color: #991b1b;
}

.integration-log-item small {
  grid-column: 1 / -1;
}

.integration-log-empty {
  padding: 10px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: #fff;
}

.integration-reason {
  min-width: 220px;
  color: var(--ink);
}

.integration-actions {
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: flex-start;
  min-width: 360px;
}

.ghost-button.compact,
.primary-button.compact {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 0.86rem;
}

.log-dialog {
  width: min(840px, calc(100vw - 28px));
}

.log-content {
  max-height: min(620px, calc(100vh - 180px));
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0f172a;
  color: #e5e7eb;
  font-size: 0.82rem;
  white-space: pre-wrap;
}

.integration-diagnostics {
  display: grid;
  gap: 8px;
}

.integration-diagnostic {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}

.integration-diagnostic.danger {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.integration-diagnostic.warn {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.integration-diagnostic.ok {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.apontamento-form {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(160px, 0.7fr) minmax(180px, 1fr);
  gap: 14px;
}

.apontamento-fields {
  align-content: start;
}

.items-grid-wrap {
  margin-top: 10px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  flex: 1;
  min-height: 420px;
}

.items-grid {
  width: 100%;
  table-layout: fixed;
}

.items-grid .item-col-product {
  width: 48%;
}

.items-grid .item-col-quantity {
  width: 12%;
}

.items-grid .item-col-unit {
  width: 9%;
}

.items-grid .item-col-price,
.items-grid .item-col-total {
  width: 12%;
}

.items-grid .item-col-actions {
  width: 7%;
}

.purchase-items-grid .purchase-item-col-product {
  width: 50%;
}

.purchase-items-grid .purchase-item-col-quantity {
  width: 8%;
}

.purchase-items-grid .purchase-item-col-unit {
  width: 6%;
}

.purchase-items-grid .purchase-item-col-price,
.purchase-items-grid .purchase-item-col-total {
  width: 10%;
}

.purchase-items-grid .item-col-rateio {
  width: 10%;
  min-width: 120px;
  text-align: center;
}

.purchase-items-grid .purchase-item-col-actions {
  width: 7%;
  text-align: center;
}

.purchase-items-grid .purchase-item-col-quantity input,
.purchase-items-grid .purchase-item-col-unit input,
.purchase-items-grid .purchase-item-col-price input,
.purchase-items-grid .purchase-item-col-total input {
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}

.purchase-items-grid .purchase-item-col-actions .icon-button {
  width: 38px;
  height: 38px;
}

.purchase-items-grid .item-col-rateio .item-rateio-indicator {
  width: 100%;
  min-width: 0;
  padding-inline: 8px;
  white-space: nowrap;
}

.purchase-rateio-context-row td {
  padding: 10px 12px;
  background: #f8fbfd;
}

.purchase-rateio-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 10px;
}

.purchase-rateio-context span {
  min-height: 50px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  display: grid;
  align-content: center;
  gap: 4px;
}

.purchase-rateio-context b {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.purchase-rateio-row select[data-purchase-rateio-task] {
  min-width: 260px;
}

.purchase-items-grid .purchase-item-col-actions .icon-button {
  margin-inline: auto;
}

.items-grid th,
.items-grid td {
  vertical-align: top;
}

.items-grid td {
  padding-top: 10px;
  padding-bottom: 10px;
}

.items-grid select,
.items-grid input {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.items-grid .item-col-quantity input,
.items-grid .item-col-unit input {
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}

.items-grid .readonly-field {
  background: #eef3f4;
  color: var(--muted);
}

.product-picker,
.cost-center-picker,
.lookup-picker {
  position: relative;
  display: grid;
  gap: 8px;
}

.product-picker {
  grid-template-columns: minmax(220px, 1fr);
}

.product-display {
  width: 100%;
  min-height: 42px;
  padding: 7px 10px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
}

.product-display-code {
  color: var(--muted);
  white-space: nowrap;
}

.product-display-name {
  min-width: 0;
  color: var(--ink);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.28;
}

.cost-center-picker,
.lookup-picker {
  grid-template-columns: minmax(180px, 1fr) auto;
}

.product-picker .product-display,
.cost-center-picker [data-cost-center-display],
.lookup-picker [data-client-display],
.purchase-lookup-picker select,
.purchase-lookup-picker [data-purchase-lookup-display] {
  min-width: 0;
}

.item-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.product-search-button,
.cost-center-search-button,
.lookup-search-button {
  white-space: nowrap;
}

.lookup-dialog {
  width: min(760px, calc(100vw - 44px));
  height: min(620px, calc(100vh - 44px));
  max-width: 760px;
  max-height: 620px;
}

.lookup-form {
  height: 100%;
  padding: 18px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 12px;
  overflow: hidden;
}

.lookup-search-input {
  width: 100%;
}

.lookup-results {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 6px;
  overflow: auto;
}

.lookup-result {
  min-height: 46px;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) minmax(120px, 180px);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.lookup-result:hover,
.lookup-result:focus {
  border-color: var(--brand);
  background: #ecfdf5;
}

.lookup-result span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lookup-result small {
  color: var(--muted);
  text-align: right;
}

.disabled-field {
  opacity: 0.62;
}

.product-search-popover,
.cost-center-search-popover {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 40;
  width: min(620px, calc(100vw - 80px));
  max-height: 360px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.product-search-input,
.cost-center-search-input {
  width: 100%;
  margin-bottom: 8px;
}

.product-search-results,
.cost-center-search-results {
  max-height: 280px;
  overflow: auto;
  display: grid;
  gap: 4px;
}

.product-result,
.cost-center-result {
  min-height: 42px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 56px;
  gap: 10px;
  align-items: center;
  border: 1px solid transparent;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.product-result {
  grid-template-columns: 86px minmax(0, 1fr) 42px;
  align-items: start;
}

.product-result:hover,
.product-result:focus,
.cost-center-result:hover,
.cost-center-result:focus {
  border-color: var(--brand);
  background: #ecfdf5;
}

.product-result span,
.cost-center-result span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-result strong,
.product-result small {
  font-size: 0.82rem;
  line-height: 1.25;
}

.product-result span {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
  line-height: 1.25;
}

.product-result small,
.cost-center-result small {
  color: var(--muted);
  text-align: right;
}

.product-empty {
  margin: 4px 0;
  padding: 10px;
}

.photo-panel {
  min-height: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 8px;
}

.photo-panel-title {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.photo-grid {
  min-height: 220px;
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
}

.photo-slot {
  min-height: 120px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--muted);
  text-align: center;
}

.photo-slot.has-photo {
  border-style: solid;
  background: #eef6f5;
  overflow: hidden;
}

.photo-slot img {
  width: 100%;
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
}

.photo-slot span {
  color: var(--ink);
  font-weight: 700;
}

.photo-slot small {
  font-size: 0.74rem;
}

.apontamento-grid-wrap {
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.apontamento-grid {
  min-width: 900px;
}

.apontamento-grid th,
.apontamento-grid td {
  white-space: nowrap;
  vertical-align: middle;
}

#osList.records-grid {
  display: block;
  width: 100%;
}

.os-table-wrap {
  width: 100%;
  max-width: 100%;
}

.os-table {
  width: 100%;
  min-width: 1320px;
}

.os-table th,
.os-table td {
  white-space: nowrap;
}

.os-table th:last-child,
.os-table td:last-child {
  width: auto;
  text-align: left;
}

.os-table tr[data-os-row] {
  cursor: pointer;
}

.os-table .selected-row {
  background: #e5f3e5;
}

.os-table tr.integration-analysis-row td {
  background: #fee2e2;
  color: #7f1d1d;
}

.os-table tr.integration-analysis-row:hover td {
  background: #fecaca;
}

.os-table tr.integration-analysis-row.selected-row td {
  background: #fca5a5;
}

.status-dot {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-block;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px var(--line);
}

.integration-flag-dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-block;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px var(--line);
}

.integration-flag-dot.not-integrated {
  background: #111827;
}

.integration-flag-dot.integrated {
  background: #16a34a;
}

.integration-flag-dot.destination-deleted {
  background: #dc2626;
}

.integration-flag-dot.analysis-required {
  background: #dc2626;
  box-shadow: 0 0 0 1px #991b1b;
}

.status-new {
  background: #94a3b8;
}

.status-scheduled {
  background: #2563eb;
}

.status-survey {
  background: #f59e0b;
}

.status-run {
  background: #7c3aed;
}

.status-ok {
  background: #16a34a;
}

.status-cancel {
  background: #dc2626;
}

.status-tooltip {
  position: absolute;
  left: 26px;
  top: 50%;
  z-index: 30;
  width: 260px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #162326;
  color: #fff;
  box-shadow: var(--shadow);
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
  white-space: normal;
}

.status-tooltip strong {
  display: block;
  margin-bottom: 4px;
  color: #fbbf24;
}

.status-dot:hover .status-tooltip,
.status-dot:focus .status-tooltip {
  opacity: 1;
}

.required-mark {
  color: #dc2626;
  font-weight: 800;
}

.profile-permissions {
  margin-top: 6px;
}

.profile-permission-title {
  font-weight: 800;
  text-transform: uppercase;
}

.profile-permission-wrap {
  max-width: 100%;
  max-height: 360px;
  border: 1px solid var(--line);
  overflow: auto;
  background: #fff;
  border-radius: 8px;
}

.profile-permission-table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  table-layout: fixed;
}

.profile-permission-table th,
.profile-permission-table td {
  height: 36px;
  padding: 7px 8px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
  vertical-align: middle;
}

.profile-permission-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.profile-permission-table th:not(:first-child) {
  padding: 6px 4px;
}

.profile-permission-table th span {
  display: block;
  line-height: 1.1;
}

.profile-select-column {
  min-height: 24px;
  margin-top: 5px;
  padding: 2px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--brand-strong);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: none;
  cursor: pointer;
}

.profile-select-column:hover {
  border-color: var(--brand);
  background: #eefbf8;
}

.profile-permission-table th:first-child,
.profile-permission-table td:first-child {
  width: 190px;
  text-align: left;
}

.profile-permission-table th:last-child,
.profile-permission-table td:last-child {
  border-right: 0;
}

.profile-permission-table tbody tr:last-child td {
  border-bottom: 0;
}

.profile-menu-name {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.profile-check-cell {
  width: 82px;
}

.profile-check {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.profile-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--brand);
}

.profile-permission-help {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 0.86rem;
}

.profile-permission-help p {
  margin: 0;
}

.dialog-actions {
  margin-top: 18px;
  flex-shrink: 0;
}

.spacer {
  flex: 1;
}

.hidden {
  display: none !important;
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: 360px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #162326;
  color: #fff;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: 0.2s ease;
  z-index: 2147483646;
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1020px) {
  body {
    grid-template-columns: 1fr;
  }

  body.sidebar-collapsed {
    grid-template-columns: 1fr;
  }

  .sidebar {
    min-height: auto;
    position: sticky;
    top: 0;
    z-index: 20;
  }

  body:not(.sidebar-expanded) .sidebar,
  .sidebar-collapsed .sidebar {
    min-height: 64px;
  }

  body:not(.sidebar-expanded) .module-nav,
  body:not(.sidebar-expanded) .sidebar-actions,
  .sidebar-collapsed .module-nav {
    display: none;
  }

  body:not(.sidebar-expanded) .sidebar .brand div {
    display: none;
  }

  .module-nav {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }

  .dashboard-grid,
  .kpi-grid,
  .cockpit-summary,
  .cockpit-actions,
  .cockpit-kpis,
  .sync-flow,
  .parameter-sync-summary {
    grid-template-columns: 1fr 1fr;
  }

  .integration-check-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  .worker-command-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .app-shell {
    padding: 16px;
  }

  .topbar,
  .status-row {
    grid-template-columns: 1fr;
    display: grid;
  }

  .topbar-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .toolbar {
    align-items: stretch;
  }

  .kpi-grid,
  .dashboard-grid,
  .cockpit-summary,
  .cockpit-actions,
  .cockpit-kpis,
  .sync-flow,
  .parameter-sync-summary,
  .integration-check-grid,
  .form-grid,
  .full-form {
    grid-template-columns: 1fr;
  }

  .photo-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .field.wide,
  .field.full {
    grid-column: auto;
  }

  .parameter-cadastro-toolbar,
  .cadastro-actions {
    align-items: stretch;
  }

  .parameter-cadastro-toolbar .search-box,
  .cadastro-actions > button {
    width: 100%;
  }

  .parameter-integration-table-wrap {
    max-height: none;
    overflow: visible;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .parameter-integration-table {
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 10px;
  }

  .parameter-integration-table thead {
    display: none;
  }

  .parameter-integration-table tbody,
  .parameter-integration-table tr,
  .parameter-integration-table td {
    display: block;
    width: 100%;
  }

  .parameter-integration-table tbody tr {
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
  }

  .parameter-integration-table tbody tr:nth-child(even) {
    background: var(--surface);
  }

  .parameter-integration-table td {
    min-height: 34px;
    padding: 8px 0;
    border-bottom: 1px solid #edf2f4;
    display: grid;
    grid-template-columns: minmax(118px, 42%) 1fr;
    gap: 10px;
    text-align: left;
    white-space: normal;
  }

  .parameter-integration-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
  }

  .parameter-integration-table td:last-child {
    border-bottom: 0;
  }

  .parameter-integration-table .select-column,
  .parameter-integration-table .action-column {
    width: 100%;
    position: static;
    box-shadow: none;
    text-align: left;
  }

  .row-action-group {
    justify-content: flex-start;
  }

  .pagination-bar {
    align-items: stretch;
  }

  .pagination-bar .spacer {
    display: none;
  }

  .pagination-bar .ghost-button {
    flex: 1 1 calc(50% - 4px);
  }
}

.finance12-chart-management { grid-area: gerencial; }

.finance12-chart-value {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  color: #334155;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.finance12-chart-value.negative-value {
  color: #ff5252;
}

.finance12-month i b {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  color: #334155;
  font-size: 0.64rem;
  white-space: nowrap;
}

.finance12-line .value-label,
.finance-line-chart .value-label {
  fill: #334155;
  font-size: 10px;
  font-weight: 800;
}

.finance12-line .value-label.negative,
.finance-line-chart .value-label.negative {
  fill: var(--danger);
}
.finance-filial-total-row td {
  padding: 8px 10px;
  background: #eef6f4;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.finance-filial-summary {
  display: grid;
  grid-template-columns: minmax(160px, 1.4fr) repeat(4, minmax(118px, 1fr));
  gap: 8px;
  align-items: center;
}

.finance-filial-summary > strong {
  color: var(--brand-strong);
  font-size: 0.82rem;
}

.finance-filial-summary span {
  min-height: 42px;
  padding: 6px 8px;
  border: 1px solid #cfe4de;
  border-radius: 6px;
  background: #fff;
  display: grid;
  gap: 2px;
}

.finance-filial-summary small {
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.finance-filial-summary b {
  font-size: 0.84rem;
}

.finance-filial-summary .negative b,
.finance-filial-summary .negative-value {
  color: var(--danger);
}

@media (max-width: 900px) {
  .finance-filial-summary {
    grid-template-columns: 1fr 1fr;
  }
}
.finance-expand-all-button {
  min-width: 38px;
  font-weight: 800;
  line-height: 1;
}

.finance12-panel.finance12-collapsed {
  min-height: auto;
}

.finance12-panel.finance12-collapsed > :not(.finance12-panel-header) {
  display: none;
}
.finance-dashboard-header h2,
.finance12-topbar h2 {
  font-size: 1.28rem;
  line-height: 1.15;
  white-space: nowrap;
}

.finance-period-filter-grid {
  align-items: end;
}

.finance-period-filter-grid .finance-date-field {
  max-width: 150px;
}

.finance-period-filter-grid .finance-date-field input {
  width: 100%;
}

.finance-multiselect-option {
  font-size: 11px;
  min-height: 23px;
  padding: 2px 5px;
}

.finance-multiselect .finance-multiselect-option input[type="checkbox"] {
  width: 11px;
  min-width: 11px;
  max-width: 11px;
  height: 11px;
  min-height: 11px;
  max-height: 11px;
}

.finance-multiselect-menu {
  max-height: 190px;
}
.finance-titles-panel.finance-titles-fullscreen {
  position: fixed;
  inset: 14px;
  z-index: 90;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 22px 70px rgba(15, 23, 42, 0.36);
}

.finance-titles-panel.finance-titles-fullscreen .finance-titles-body {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.finance-titles-panel.finance-titles-fullscreen .table-wrap {
  min-height: 0;
  flex: 1;
  overflow: auto;
}

body.finance-titles-modal-open {
  overflow: hidden;
}

.dashboard-fullscreen-button {
  white-space: nowrap;
}

.dashboard-panel-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.finance-collapsible-panel .dashboard-panel-actions [data-finance-panel-toggle] {
  margin-left: 0;
}

.billing-panel-header h3,
.finance12-panel-header h3 {
  min-width: 0;
  margin-right: 12px;
  text-align: left;
}

.finance12-panel-header {
  justify-content: space-between;
}

.finance12-panel-header h3 {
  padding: 0;
  margin-bottom: 0;
}

.dashboard-panel-actions .finance12-expand-btn {
  position: static;
  top: auto;
  right: auto;
}

.dashboard-panel-fullscreen {
  position: fixed !important;
  inset: 12px !important;
  z-index: 120 !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 22px 70px rgba(15, 23, 42, 0.36) !important;
}

.dashboard-panel-fullscreen > .panel-header,
.dashboard-panel-fullscreen > .finance12-panel-header,
.dashboard-panel-fullscreen > .billing-panel-header {
  flex: 0 0 auto;
}

.dashboard-panel-fullscreen .finance-panel-body,
.dashboard-panel-fullscreen .billing-panel-body,
.dashboard-panel-fullscreen .finance12-chart,
.dashboard-panel-fullscreen .finance13-horizontal-chart,
.dashboard-panel-fullscreen .finance13-comparison-chart,
.dashboard-panel-fullscreen .finance13-upcoming-chart,
.dashboard-panel-fullscreen .finance-titles-body,
.dashboard-panel-fullscreen .table-wrap {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}

.dashboard-panel-fullscreen .billing-matrix-wrap,
.dashboard-panel-fullscreen .billing-contracts,
.dashboard-panel-fullscreen .billing-bars,
.dashboard-panel-fullscreen .status-board,
.dashboard-panel-fullscreen .stack-list,
.dashboard-panel-fullscreen .shortcut-grid {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}

.dashboard-panel-fullscreen .finance12-bars {
  min-height: 360px;
}

.dashboard-panel-fullscreen .finance13-horizontal-chart,
.dashboard-panel-fullscreen .finance13-comparison-chart {
  max-height: none;
}

.financeiro-lancamentos-mode .finance13-table-panel.dashboard-panel-fullscreen {
  gap: 0;
}

.financeiro-lancamentos-mode .finance13-table-panel.dashboard-panel-fullscreen .finance-titles-header,
.financeiro-lancamentos-mode .finance13-table-panel.dashboard-panel-fullscreen .finance-launch-toolbar,
.financeiro-lancamentos-mode .finance13-table-panel.dashboard-panel-fullscreen .finance13-column-popover,
.financeiro-lancamentos-mode .finance13-table-panel.dashboard-panel-fullscreen .finance-table-totals {
  flex: 0 0 auto;
}

.financeiro-lancamentos-mode .finance13-table-panel.dashboard-panel-fullscreen .table-wrap {
  max-height: none;
  height: auto;
  min-height: 0;
  flex: 1 1 0;
  overflow: auto;
}

.dashboard-panel-fullscreen .finance12-panel-header h3 {
  padding-right: 150px;
  padding-left: 150px;
}

body.dashboard-fullscreen-open {
  overflow: hidden;
}

.catalog-progress {
  min-width: 150px;
  max-width: 260px;
  display: grid;
  gap: 6px;
  font-size: 0.75rem;
  color: #334155;
}

.row-action-group .catalog-progress {
  flex: 1 0 100%;
  width: 100%;
  max-width: 100%;
  margin-top: 4px;
}

.catalog-progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.catalog-progress-meta strong,
.catalog-progress-meta span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.catalog-progress-meta strong {
  font-weight: 800;
  color: #102a43;
}

.catalog-progress-bar {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: #e2e8f0;
  border: 1px solid #cbd5e1;
}

.catalog-progress-bar span {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f766e, #22c55e);
  transition: width 220ms ease;
}

.catalog-progress.processando .catalog-progress-bar span {
  background: linear-gradient(90deg, #0f766e, #38bdf8);
}

.catalog-progress.ok .catalog-progress-bar span {
  background: #16a34a;
}

.catalog-progress.erro .catalog-progress-bar span {
  background: #dc2626;
}

.catalog-progress.erro .catalog-progress-meta strong,
.catalog-progress.erro .catalog-progress-meta span {
  color: #991b1b;
}

.catalog-progress-empty {
  color: #64748b;
  font-size: 0.75rem;
  white-space: nowrap;
}
.finance12-three-series .finance12-month,
.finance12-unit-bars .finance12-month {
  gap: 3px;
}

.finance12-three-series .bar {
  width: 14px;
}

.finance12-month .emitted {
  background: #2f855a;
}

.finance12-month .paid {
  background: #9f7aea;
}

.finance12-month .open {
  background: #f6e05e;
}

.finance12-legend .emitido::before { background: #2f855a; }
.finance12-legend .baixado::before { background: #9f7aea; }
.finance12-legend .aberto::before { background: #f6e05e; }

.finance12-unit-bars {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
}

.finance12-unit-bars .finance12-month .bar {
  width: 38px;
}

.finance12-unit-bars .finance12-month small {
  bottom: -38px;
  min-height: 34px;
  line-height: 1.05;
}

.finance12-daily-payments {
  grid-template-columns: repeat(7, minmax(86px, 1fr));
}

.finance12-daily-payments .finance12-month {
  height: 176px;
}

.finance12-daily-payments .finance12-month .bar {
  width: 34px;
}

.finance12-daily-payments .finance12-month small {
  bottom: -42px;
  min-height: 38px;
  line-height: 1.08;
}

.finance12-branch-bars {
  display: grid;
  gap: 9px;
  padding: 10px 2px;
}

.finance12-branch-row {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) minmax(160px, 2fr) 112px;
  gap: 10px;
  align-items: center;
  font-size: 0.78rem;
}

.finance12-branch-row span {
  font-weight: 800;
  color: var(--ink);
}

.finance12-branch-row i {
  height: 12px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}

.finance12-branch-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #0f8f78;
}

.finance12-branch-row strong {
  text-align: right;
}

.finance12-matrix-wrap {
  max-height: 250px;
  overflow: auto;
  border: 1px solid var(--line);
}

.finance12-expanded .finance12-matrix-wrap {
  max-height: 76vh;
}

.finance12-matrix {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: 0.76rem;
}

.finance12-matrix th,
.finance12-matrix td {
  padding: 7px 8px;
  border: 1px solid #d7e0e3;
  text-align: right;
  white-space: nowrap;
}

.finance12-matrix th {
  background: #eef3f4;
  color: #465a63;
  font-weight: 800;
}

.finance12-matrix tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  text-align: left;
}

.finance12-matrix tbody tr:nth-child(even) td,
.finance12-matrix tbody tr:nth-child(even) th {
  background: #f7faf7;
}

/* Layout 2.01.26.0000 */
:root {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --ink: #0f172a;
  --muted: #64748b;
  --line: #dbe4ee;
  --brand: #10b981;
  --brand-strong: #10b981;
  --accent: #f59e0b;
  --danger: #ef4444;
  --ok: #10b981;
  --warn: #f59e0b;
  --sidebar: #0f172a;
  --sidebar-2: #0f172a;
  --card-ink: #1e293b;
  --text-on-dark: #ffffff;
  --shadow: 0 18px 42px rgba(16, 24, 40, 0.10);
  --soft-shadow: 0 8px 22px rgba(16, 24, 40, 0.08);
}

/* Processo de compras — Cotação */
.purchase-process-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; margin:-4px -4px 18px; padding:22px 26px; color:#fff; border-radius:10px; background:linear-gradient(120deg,#102f32,#0f5d5b); box-shadow:0 12px 30px rgba(15,47,50,.18); }
.purchase-process-title { min-width:280px; }
.purchase-process-title .eyebrow { color:#8de0c2; }
.purchase-process-title h2 { margin:4px 0 6px; color:#fff; font-size:1.75rem; }
.purchase-process-title p { max-width:620px; margin:0; color:#cfe5e3; line-height:1.45; }
.purchase-process-flow { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.purchase-process-flow > span { min-width:126px; display:grid; grid-template-columns:30px 1fr; gap:1px 9px; align-items:center; padding:10px 12px; border:1px solid rgba(255,255,255,.2); border-radius:9px; background:rgba(255,255,255,.08); }
.purchase-process-flow > span b { grid-row:1/3; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:#b8d8d4; background:rgba(255,255,255,.12); }
.purchase-process-flow > span small { color:#a9cbc7; font-size:.62rem; }
.purchase-process-flow > span strong { color:#fff; font-size:.78rem; white-space:nowrap; }
.purchase-process-flow > span.active { border-color:#79dbc4; background:rgba(39,190,153,.2); box-shadow:inset 0 -3px #62d7bb; }
.purchase-process-flow > span.active b { color:#0c5953; background:#8de0c2; }
.purchase-process-flow > i { color:#8fc0ba; font-size:1.35rem; font-style:normal; }
.quotation-shell { display:grid; gap:18px; padding:4px 0 28px; }
.quotation-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:22px 26px; color:#fff; border-radius:10px; background:linear-gradient(120deg,#102f32,#0f5d5b); box-shadow:0 12px 30px rgba(15,47,50,.18); }
.quotation-hero h2 { margin:4px 0 6px; font-size:1.75rem; }
.quotation-hero p { margin:0; color:#cfe5e3; }
.quotation-hero .eyebrow { color:#8de0c2; }
.quotation-hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.quotation-current-number { display:flex; align-items:center; gap:10px; width:max-content; margin-top:14px; padding:8px 12px; border:1px solid rgba(255,255,255,.28); border-radius:8px; background:rgba(255,255,255,.1); }
.quotation-current-number small { color:#bfe3dc; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.quotation-current-number strong { color:#fff; font-size:1rem; }
.quotation-current-number span { padding:3px 8px; color:#0f4f49; border-radius:999px; background:#baf0dc; font-size:.72rem; font-weight:800; }
.quotation-hero .ghost-button { color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.quotation-hero .danger-button { color:#fff; border-color:rgba(255,151,151,.65); background:rgba(153,27,27,.3); }
.quotation-hero .danger-button:hover:not(:disabled) { background:#b4232f; }
.quotation-list-actions { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.eyebrow { display:block; color:#0f766e; font-size:.7rem; font-weight:800; letter-spacing:.11em; }
.quotation-steps { display:grid; grid-template-columns:repeat(6,minmax(145px,1fr) auto) minmax(145px,1fr); align-items:center; padding:14px 18px; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:auto; }
.quotation-steps > i { padding:0 8px; color:#aab8bd; font-style:normal; font-size:1.3rem; }
.quotation-steps button { min-width:145px; display:grid; grid-template-columns:30px 1fr; gap:0 9px; align-items:center; padding:8px; text-align:left; border:0; background:transparent; color:#617178; }
.quotation-steps button > span { grid-row:1/3; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#edf2f3; font-weight:800; }
.quotation-steps button strong { color:#334247; font-size:.82rem; }
.quotation-steps button small { font-size:.67rem; }
.quotation-steps button.active { background:#eff8f6; }
.quotation-steps button.active > span { color:#fff; background:#0f766e; box-shadow:0 0 0 4px #d8efea; }
.quotation-steps button.active strong { color:#0f5f59; }
.quotation-steps button.portal-response-pending { background:#fff8e7; }
.quotation-steps button.portal-response-pending > span { color:#6f4900; background:#f6c84f; box-shadow:0 0 0 4px #ffefb8; }
.quotation-steps button.portal-response-pending strong,.quotation-steps button.portal-response-pending small { color:#805500; }
.quotation-steps button:disabled { cursor:not-allowed; opacity:.46; filter:grayscale(.75); }
.quotation-steps button:disabled > span { color:#89979b; background:#e8edef; box-shadow:none; }
.quotation-list-panel { padding:18px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 8px 22px rgba(23,42,47,.06); }
.quotation-list-panel .quotation-section-head { margin-bottom:12px; }
.quotation-list-panel .quotation-data-grid table { min-width:760px; }
.quotation-attachment-picker { margin-top:12px; }
.quotation-attachment-picker .file-button { margin-left:auto; }
.quotation-email-attachments { display:grid; gap:7px; padding:10px 0; }
.quotation-email-attachments > span { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:1px solid var(--line); border-radius:7px; background:#f8fafc; }
.quotation-email-attachments > span > span { display:grid; gap:2px; }
.quotation-email-attachments small { color:var(--muted); }
.quotation-workspace { min-height:490px; padding:24px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 22px rgba(23,42,47,.06); }
.quotation-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:20px; }
.quotation-section-head h3 { margin:5px 0; font-size:1.35rem; }
.quotation-section-head p { margin:0; color:var(--muted); }
.selection-pill,.compare-legend { padding:8px 12px; border-radius:999px; background:#edf7f5; color:#0f6b63; font-size:.78rem; font-weight:700; white-space:nowrap; }
.compare-legend i { display:inline-block; width:9px; height:9px; margin-right:6px; border-radius:3px; background:#22a06b; }
.quotation-list { display:grid; gap:10px; }
.quotation-filter-bar { display:grid; grid-template-columns:minmax(320px,1fr) 180px auto; align-items:end; gap:12px; margin-bottom:14px; padding:13px; border:1px solid var(--line); border-radius:9px; background:#f5f8f8; }
.quotation-filter-bar > label:not(.quotation-search) { display:grid; gap:5px; color:var(--muted); font-size:.72rem; font-weight:700; }
.quotation-filter-bar select { min-height:40px; padding:0 10px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.quotation-filter-bar > small { align-self:center; color:var(--muted); font-size:.72rem; white-space:nowrap; }
.quotation-search { min-height:40px; display:flex; align-items:center; gap:8px; padding:0 11px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.quotation-search .action-icon { flex:0 0 18px; width:18px; height:18px; background:#607177; }
.quotation-search input { width:100%; min-width:0; border:0; outline:0; background:transparent; }
.quotation-empty { padding:24px !important; color:var(--muted); text-align:center; background:#fafbfb; }
.quotation-choice { display:grid; grid-template-columns:24px minmax(220px,1fr) minmax(120px,auto) minmax(130px,auto) 105px 130px; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.quotation-request-status strong,.quotation-process-status strong { display:block; margin-top:3px; font-size:.8rem; }
.quotation-process-status strong { color:#0f766e; }
.quotation-choice.selected { border-color:#67b9aa; background:#f4fbf9; }
.quotation-choice input,.supplier-card input { position:absolute; opacity:0; pointer-events:none; }
.choice-check { width:19px; height:19px; border:2px solid #b3c0c4; border-radius:5px; }
.selected .choice-check { border-color:#0f766e; background:#0f766e; box-shadow:inset 0 0 0 4px #fff; }
.choice-main { display:grid; gap:3px; }
.choice-main small,.quotation-choice > span small { display:block; color:var(--muted); font-size:.75rem; }
.quotation-form-row { display:grid; grid-template-columns:2fr 1fr; gap:14px; padding:16px; margin-bottom:16px; background:#f4f7f7; border-radius:9px; }
.quotation-form-row label { display:grid; gap:7px; color:#536369; font-size:.75rem; font-weight:700; }
.quotation-form-row select,.quotation-form-row input { min-height:42px; padding:0 12px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.quotation-lookup { display:grid; grid-template-columns:1fr 42px; }
.quotation-lookup input { min-width:0; border-radius:7px 0 0 7px; }
.quotation-lookup button { min-height:42px; display:grid; place-items:center; border:1px solid #0f766e; border-radius:0 7px 7px 0; background:#0f766e; }
.quotation-lookup button .action-icon { width:19px; height:19px; background:#fff; }
.quotation-grid-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:20px 0 10px; }
.quotation-grid-heading h4 { margin:4px 0 0; font-size:1rem; }
.quotation-grid-heading button { display:inline-flex; align-items:center; gap:7px; }
.quotation-grid-heading .action-icon { width:17px; height:17px; background:currentColor; }
.quotation-data-grid { width:100%; overflow:auto; border:1px solid var(--line); border-radius:9px; background:#fff; }
.quotation-data-grid table { width:100%; min-width:960px; border-collapse:collapse; font-size:.78rem; }
.quotation-data-grid th { padding:10px 12px; color:#fff; background:#30484b; text-align:left; white-space:nowrap; }
.quotation-data-grid td { padding:11px 12px; border-right:1px solid #e3e9ea; border-bottom:1px solid #e3e9ea; white-space:nowrap; }
.quotation-data-grid tbody tr:last-child td { border-bottom:0; }
.quotation-data-grid tbody tr:hover,.quotation-data-grid tbody tr.selected-row { background:#f0f8f6; }
.grid-remove-button { width:28px; min-height:28px; padding:0; border-color:#e7c8c8; color:#a92d2d; background:#fff5f5; font-size:1.1rem; }
.grid-select-button { min-height:32px; padding:0 10px; border-color:#8fc7bb; color:#0e655d; background:#edf8f5; font-size:.72rem; font-weight:700; }
.payment-condition-table { min-width:720px !important; }
.payment-condition-table th:first-child,.payment-condition-table td:first-child { width:112px; text-align:center; }
.payment-radio { display:inline-flex; align-items:center; justify-content:center; gap:7px; cursor:pointer; color:#31575a; font-size:.7rem; font-weight:700; }
.payment-radio input { position:absolute; opacity:0; }
.payment-radio span { width:18px; height:18px; border:2px solid #9badb1; border-radius:50%; background:#fff; }
.payment-radio input:checked + span { border-color:#0f766e; box-shadow:inset 0 0 0 4px #fff; background:#0f766e; }
.payment-radio em { font-style:normal; }
.grid-checkbox { display:grid; place-items:center; cursor:pointer; }.grid-checkbox input { position:absolute; opacity:0; }.grid-checkbox input:checked + .choice-check { border-color:#0f766e; background:#0f766e; box-shadow:inset 0 0 0 4px #fff; }
.quotation-lookup-dialog { width:min(780px,calc(100vw - 32px)); max-width:none; padding:0; border:0; border-radius:10px; box-shadow:0 24px 80px rgba(16,35,38,.28); }
.quotation-supplier-dialog { width:min(1180px,calc(100vw - 32px)); }
.quotation-lookup-dialog::backdrop { background:rgba(16,29,32,.58); backdrop-filter:blur(2px); }
.quotation-lookup-dialog .dialog-content { padding:20px; }
.quotation-lookup-dialog .dialog-header { margin-bottom:14px; }.quotation-lookup-dialog .dialog-header h2 { margin:0 0 4px; }.quotation-lookup-dialog .dialog-header p { margin:0; color:var(--muted); }
.dialog-search { margin-bottom:12px; }
.supplier-grid { display:grid; grid-template-columns:repeat(2,minmax(280px,1fr)); gap:12px; }
.supplier-card { position:relative; display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.supplier-card.selected { border-color:#67b9aa; background:#f4fbf9; }
.supplier-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:9px; color:#fff; background:#31575a; font-weight:800; }
.quote-status { padding:5px 8px; border-radius:999px; background:#f4eee2; color:#926213; font-size:.67rem; font-weight:800; }
.quote-status.ok { background:#e5f5ec; color:#16704b; }
.delivery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.delivery-grid button { min-height:180px; padding:18px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; text-align:left; border:1px solid var(--line); background:#fff; }
.delivery-grid button:hover { border-color:#58a99c; background:#f5fbfa; transform:translateY(-1px); }
.delivery-grid button.response-pending,.delivery-grid button.response-pending:hover { border-color:#e2ac31; background:#fff8e7; box-shadow:inset 0 0 0 1px #f0c760; }
.delivery-grid button.response-pending .delivery-icon { color:#6f4900; background:#f6c84f; box-shadow:0 0 0 4px #ffefb8; }
.delivery-grid button.response-pending b { color:#805500; }
.delivery-grid small { flex:1; color:var(--muted); line-height:1.4; }
.delivery-grid b { color:#0f766e; font-size:.72rem; }
.delivery-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:9px; color:#fff; background:#0f766e; font-size:1.2rem; font-weight:800; }
.quotation-document-panel { display:grid; grid-template-columns:minmax(280px,1fr) auto; gap:14px 20px; align-items:center; margin-top:16px; padding:16px 18px; border:1px solid #d6dee0; border-radius:9px; background:#fafcfc; }
.quotation-document-panel h4 { margin:4px 0; }.quotation-document-panel p { margin:0; color:var(--muted); font-size:.78rem; }
.quotation-document-panel > label { justify-self:end; }
.quotation-document-list { grid-column:1/-1; display:grid; gap:7px; }
.quotation-document-list > span { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; border:1px solid #ead18a; border-radius:7px; background:#fff9e8; }
.quotation-document-list > span > span { display:grid; gap:2px; }.quotation-document-list small { color:#765c1f; }
.portal-preview { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:20px; margin-top:16px; padding:16px 18px; border:1px solid #c8e0db; border-radius:9px; background:#f2faf8; }
.portal-preview h4 { margin:3px 0; }.portal-preview p { margin:0; color:var(--muted); font-size:.78rem; }.portal-preview code { padding:9px; border-radius:6px; background:#fff; color:#0f5f59; }
.quote-entry-toolbar { display:grid; grid-template-columns:230px auto 1fr; align-items:end; gap:12px; margin-bottom:16px; padding:14px; border:1px solid #c8e0db; border-radius:9px; background:#f2faf8; }
.quote-entry-toolbar label { display:grid; gap:6px; color:#52656a; font-size:.72rem; font-weight:700; }.quote-entry-toolbar input { min-height:40px; padding:0 10px; border:1px solid var(--line); border-radius:7px; background:#fff; }.quote-entry-toolbar button { display:inline-flex; align-items:center; gap:7px; }.quote-entry-toolbar button .action-icon { width:17px; height:17px; background:currentColor; }.quote-entry-toolbar small { align-self:center; color:var(--muted); line-height:1.35; }
.quote-supplier-tabs { display:flex; gap:8px; margin-bottom:14px; overflow:auto; }.quote-supplier-tabs button { min-width:210px; display:grid; gap:2px; padding:10px 12px; text-align:left; border:1px solid var(--line); background:#fff; }.quote-supplier-tabs button > span,.quote-supplier-tabs button small { color:var(--muted); font-size:.66rem; }.quote-supplier-tabs button.active { border-color:#4fa997; background:#edf8f5; box-shadow:inset 0 -3px #0f766e; }.quote-supplier-tabs button.active strong { color:#0d665d; }
.quote-entry-supplier { display:grid; grid-template-columns:1fr 280px; align-items:end; gap:18px; margin-bottom:10px; }.quote-entry-supplier h4 { margin:3px 0; }.quote-entry-supplier p { margin:0; color:var(--muted); font-size:.75rem; }.quote-entry-supplier label { display:grid; gap:5px; color:var(--muted); font-size:.7rem; font-weight:700; }.quote-entry-supplier input { min-height:38px; padding:0 10px; border:1px solid var(--line); border-radius:7px; background:#f7f9f9; }
.quote-entry-supplier .quotation-lookup { grid-template-columns:1fr 40px; }.quote-entry-supplier .quotation-lookup input { border-radius:7px 0 0 7px; }.quote-entry-supplier .quotation-lookup button { min-height:38px; }
.quote-entry-grid table { min-width:1180px; }.quote-entry-grid td:nth-child(2) { min-width:240px; white-space:normal; }.quote-entry-grid input { width:125px; min-height:36px; padding:0 8px; border:1px solid #cbd6d8; border-radius:6px; background:#fff; }.quote-entry-grid input[type="date"] { width:145px; }
.quote-entry-summary { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }.quote-entry-summary span { min-width:190px; display:grid; gap:3px; padding:11px 14px; border:1px solid var(--line); border-radius:8px; background:#f7f9f9; }.quote-entry-summary small { color:var(--muted); }.quote-entry-summary strong { font-size:1.05rem; color:#124f4b; }
.quote-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.quote-kpis > span { display:grid; gap:3px; padding:13px 14px; border:1px solid var(--line); border-radius:8px; }
.award-mode-panel { display:grid; grid-template-columns:minmax(250px,.75fr) 1.5fr; align-items:center; gap:20px; margin-bottom:16px; padding:16px; border:1px solid #bfd8d3; border-radius:9px; background:#f4faf9; }.award-mode-panel h4 { margin:4px 0; }.award-mode-panel p { margin:0; color:var(--muted); font-size:.75rem; }.award-mode-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.award-mode-options button { min-height:74px; display:grid; grid-template-columns:22px 1fr; gap:3px 9px; align-content:center; padding:11px 13px; text-align:left; border:1px solid var(--line); background:#fff; }.award-mode-options .award-radio { grid-row:1/3; width:19px; height:19px; border:2px solid #9badb1; border-radius:50%; }.award-mode-options small { color:var(--muted); font-size:.68rem; line-height:1.3; }.award-mode-options button.active { border-color:#169176; background:#eaf7f3; box-shadow:inset 0 0 0 1px #169176; }.award-mode-options button.active .award-radio { border-color:#0f766e; background:#0f766e; box-shadow:inset 0 0 0 4px #fff; }.award-mode-options button.active strong { color:#0d665d; }
.negotiation-replicate-toolbar { grid-template-columns:minmax(170px,210px) minmax(170px,210px) auto 1fr; }.negotiation-entry-grid { width:100%; max-width:100%; overflow-x:auto; }.negotiation-entry-grid table { width:100%; min-width:0; table-layout:fixed; font-size:.72rem; }.negotiation-entry-grid th,.negotiation-entry-grid td { padding:8px 7px; white-space:normal; overflow-wrap:anywhere; }.negotiation-entry-grid th:nth-child(1) { width:9%; }.negotiation-entry-grid th:nth-child(2) { width:25%; }.negotiation-entry-grid th:nth-child(3) { width:8%; }.negotiation-entry-grid th:nth-child(4),.negotiation-entry-grid th:nth-child(5),.negotiation-entry-grid th:nth-child(8) { width:11%; }.negotiation-entry-grid th:nth-child(6),.negotiation-entry-grid th:nth-child(7) { width:12.5%; }.negotiation-entry-grid input { width:100%; min-width:0; max-width:100%; min-height:34px; padding:5px 6px; border:1px solid #cbd6d8; border-radius:6px; background:#fff; font-size:.72rem; }.intervention-button { display:flex; align-items:center; gap:10px; min-height:64px; padding:10px 13px; text-align:left; border:1px solid #d5a43b; background:#fff8e6; }.intervention-button > span:last-child { display:grid; gap:3px; }.intervention-button small { color:#78652f; }.intervention-button.active { border-color:#b87910; box-shadow:inset 0 0 0 1px #b87910; }.intervention-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#b87910; font-weight:900; }.intervention-banner { display:flex; justify-content:space-between; gap:16px; margin-bottom:12px; padding:11px 14px; border:1px solid #d5a43b; border-radius:8px; color:#704d0b; background:#fff8e6; }.comparison-table .intervention-price { background:#fff4d4; box-shadow:inset 0 0 0 2px #c48a1d; }.intervention-supplier-list { display:grid; gap:9px; margin:12px 0 16px; }.intervention-supplier { display:grid; grid-template-columns:22px 1fr; align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:8px; cursor:pointer; }.intervention-supplier input { position:absolute; opacity:0; }.intervention-supplier .award-radio { width:19px; height:19px; border:2px solid #9badb1; border-radius:50%; }.intervention-supplier > span:last-child { display:grid; gap:3px; }.intervention-supplier small { color:var(--muted); }.intervention-supplier.selected { border-color:#b87910; background:#fff8e6; }.intervention-supplier.selected .award-radio { border-color:#b87910; background:#b87910; box-shadow:inset 0 0 0 4px #fff; }.intervention-reason { display:grid; gap:6px; color:#526369; font-size:.72rem; font-weight:700; }.intervention-reason textarea { width:100%; padding:9px 10px; border:1px solid #cbd6d8; border-radius:7px; resize:vertical; }
.negotiation-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:14px; align-items:start; }.negotiation-form-card,.negotiation-summary { border:1px solid var(--line); border-radius:9px; background:#fff; }.negotiation-form-card { padding:18px; }.negotiation-card-head h4,.negotiation-summary h4 { margin:4px 0; }.negotiation-card-head p { margin:0 0 16px; color:var(--muted); font-size:.78rem; }.negotiation-form-grid { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:12px; }.negotiation-form-grid label { display:grid; gap:5px; color:#526369; font-size:.7rem; font-weight:700; }.negotiation-form-grid label.wide { grid-column:1/-1; }.negotiation-form-grid input,.negotiation-form-grid select,.negotiation-form-grid textarea { width:100%; min-width:0; min-height:39px; padding:8px 10px; border:1px solid #cbd6d8; border-radius:7px; background:#fff; }.negotiation-form-grid textarea { resize:vertical; }.negotiation-form-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }.negotiation-summary { padding:17px; background:#f4faf9; }.negotiation-summary > div { display:grid; gap:8px; margin:15px 0; }.negotiation-summary > div span { display:flex; justify-content:space-between; align-items:center; padding:10px; border-radius:7px; background:#fff; }.negotiation-summary small { color:var(--muted); }.negotiation-summary p { color:var(--muted); font-size:.73rem; line-height:1.45; }.negotiation-history-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin:22px 0 10px; }.negotiation-history-head h4 { margin:4px 0 0; }.negotiation-history-head button { display:inline-flex; align-items:center; gap:7px; }.negotiation-history-head .action-icon { width:17px; height:17px; background:currentColor; }.negotiation-history-grid table { min-width:1450px; }.negotiation-history-grid .negotiation-note-row td { color:var(--muted); background:#f8faf9; white-space:normal; }.negotiation-saving { color:#14734c; font-weight:800; }.negotiation-status { display:inline-flex; padding:5px 8px; border-radius:999px; color:#8b6415; background:#fff4d7; font-size:.65rem; font-weight:800; }.negotiation-status.accepted { color:#126c48; background:#e1f4e9; }.negotiation-status.rejected { color:#a13737; background:#fdeaea; }
.quote-kpis small,.quote-kpis em { color:var(--muted); font-size:.7rem; font-style:normal; }.quote-kpis strong { font-size:1.25rem; }.quote-kpis .saving { border-color:#a9d9c1; background:#f2faf5; }.quote-kpis .saving strong { color:#13734b; }
.comparison-wrap { overflow:auto; border:1px solid var(--line); border-radius:9px; }
.comparison-table { width:100%; min-width:880px; border-collapse:collapse; font-size:.8rem; }
.comparison-table th { padding:12px 14px; text-align:left; color:#fff; background:#253c40; border-right:1px solid rgba(255,255,255,.12); }.comparison-table th small { display:block; margin-top:4px; color:#b9cccf; font-weight:400; }
.comparison-table td { position:relative; padding:13px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.comparison-table td:first-child { min-width:260px; }.comparison-table td small { display:block; margin-top:3px; color:var(--muted); }
.comparison-table .best-price { background:#e8f7ee; color:#11623f; box-shadow:inset 3px 0 #21a46c; }.best-price b { display:inline-block; margin-top:5px; padding:3px 6px; border-radius:4px; color:#fff; background:#1b8d5f; font-size:.58rem; }.no-bid { color:#9aa7aa; font-style:italic; }.total-row td { background:#f2f5f5; border-bottom:0; }.total-row .best-total { color:#11623f; background:#dff3e7; }
.comparison-history { margin-top:20px; padding-top:2px; }.comparison-history-version { margin-top:9px; border:1px solid var(--line); border-radius:9px; background:#fbfcfc; overflow:hidden; }.comparison-history-version summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; cursor:pointer; list-style:none; }.comparison-history-version summary::-webkit-details-marker { display:none; }.comparison-history-version summary span { display:grid; gap:3px; }.comparison-history-version summary small { color:var(--muted); }.comparison-history-version summary b { color:#0f766e; font-size:.72rem; }.comparison-history-version .comparison-wrap { margin:0 12px 12px; }.comparison-history-table { min-width:720px; font-size:.74rem; }
.quotation-footer { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }.quotation-footer > span:first-child { margin-right:auto; color:var(--muted); }
.order-success { max-width:690px; margin:30px auto; text-align:center; }.success-mark { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 14px; border-radius:50%; color:#fff; background:#1c9864; font-size:1.7rem; }.order-success h3 { font-size:1.55rem; margin:7px 0; }.order-success > p { color:var(--muted); }.order-success > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0; }.order-success > div span { display:grid; gap:4px; padding:16px; border:1px solid var(--line); border-radius:8px; background:#f7f9f9; }.order-success small { color:var(--muted); }
.order-success > div.single-order { grid-template-columns:1fr; max-width:440px; margin-inline:auto; }
.order-success > div.process-link-trail { grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; max-width:none; }.process-link-trail i { color:#0f766e; font-size:1.35rem; font-style:normal; }.order-success .process-link-trail span { border-color:#b8d8d2; background:#f1f9f7; }
@media (max-width:1100px) { .delivery-grid,.quote-kpis { grid-template-columns:repeat(2,1fr); }.supplier-grid { grid-template-columns:1fr; }.portal-preview { grid-template-columns:1fr; } }
@media (max-width:1100px) { .negotiation-layout { grid-template-columns:1fr; }.negotiation-form-grid { grid-template-columns:repeat(2,minmax(140px,1fr)); } }
@media (max-width:720px) { .quotation-hero,.quotation-section-head,.quotation-footer,.quotation-grid-heading,.negotiation-history-head,.intervention-banner { align-items:stretch; flex-direction:column; }.quotation-hero-actions { width:100%; }.quotation-workspace { padding:16px; }.quotation-choice { grid-template-columns:24px 1fr; }.quotation-choice > span:not(.choice-main),.quotation-choice > b { grid-column:2; }.quotation-form-row,.quotation-filter-bar,.quote-entry-toolbar,.quote-entry-supplier,.award-mode-panel,.award-mode-options,.negotiation-form-grid,.delivery-grid,.quote-kpis,.order-success > div { grid-template-columns:1fr; }.quotation-filter-bar > small { white-space:normal; }.quote-entry-summary { flex-direction:column; }.quote-entry-summary span { min-width:0; }.negotiation-form-actions { flex-direction:column; } }
@media (max-width:1100px) { .purchase-process-hero { align-items:flex-start; flex-direction:column; }.purchase-process-flow { width:100%; overflow:auto; }.purchase-process-flow > span { flex:1 0 126px; } }
@media (max-width:720px) { .purchase-process-hero { margin:0 0 16px; padding:18px; }.purchase-process-title { min-width:0; }.purchase-process-flow { gap:6px; }.purchase-process-flow > i { display:none; } }

body {
  grid-template-columns: 204px 1fr;
  background: var(--bg);
}

body.sidebar-collapsed {
  grid-template-columns: 82px 1fr;
}

.login-view {
  place-items: start center;
  padding: 68px 24px 32px;
  overflow: auto;
  background:
    linear-gradient(120deg, rgba(16, 185, 129, 0.40), transparent 32%),
    linear-gradient(250deg, rgba(16, 185, 129, 0.32), transparent 34%),
    #0f172a;
}

.login-view::before {
  content: "SWN";
  position: fixed;
  left: -20px;
  top: 30%;
  color: transparent;
  -webkit-text-stroke: 3px rgba(255, 255, 255, 0.06);
  font-size: clamp(8rem, 24vw, 22rem);
  font-weight: 900;
  line-height: 0.8;
  pointer-events: none;
}

.login-view::after {
  content: "";
  position: fixed;
  inset: auto 0 0;
  height: 30%;
  background: repeating-linear-gradient(165deg, rgba(20, 184, 166, 0.16) 0 1px, transparent 1px 32px);
  pointer-events: none;
}

.login-visual-panels {
  position: fixed;
  inset: 140px 5vw auto auto;
  width: min(520px, 32vw);
  height: 500px;
  opacity: 0.42;
  pointer-events: none;
}

.login-panel {
  position: absolute;
  border: 1px solid rgba(45, 212, 191, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.16);
}

.panel-checklist {
  top: 0;
  right: 56px;
  width: 210px;
  height: 104px;
}

.panel-checklist::before {
  content: "";
  position: absolute;
  inset: 22px 22px;
  background:
    radial-gradient(circle at 4px 4px, rgba(45, 212, 191, 0.64) 0 4px, transparent 5px),
    linear-gradient(rgba(45, 212, 191, 0.26), rgba(45, 212, 191, 0.26)) 28px 2px / 122px 9px no-repeat,
    radial-gradient(circle at 4px 34px, rgba(45, 212, 191, 0.42) 0 4px, transparent 5px),
    linear-gradient(rgba(45, 212, 191, 0.18), rgba(45, 212, 191, 0.18)) 28px 32px / 110px 9px no-repeat,
    radial-gradient(circle at 4px 64px, rgba(45, 212, 191, 0.32) 0 4px, transparent 5px),
    linear-gradient(rgba(45, 212, 191, 0.14), rgba(45, 212, 191, 0.14)) 28px 62px / 132px 9px no-repeat;
}

.panel-bars {
  top: 150px;
  right: 190px;
  width: 285px;
  height: 140px;
}

.panel-bars::before {
  content: "";
  position: absolute;
  inset: 34px 30px 24px;
  background:
    linear-gradient(rgba(45, 212, 191, 0.12), rgba(45, 212, 191, 0.12)) 0 0 / 100% 1px no-repeat,
    linear-gradient(rgba(45, 212, 191, 0.12), rgba(45, 212, 191, 0.12)) 0 28px / 100% 1px no-repeat,
    linear-gradient(rgba(45, 212, 191, 0.12), rgba(45, 212, 191, 0.12)) 0 56px / 100% 1px no-repeat,
    linear-gradient(to top, rgba(45, 212, 191, 0.52) 32%, transparent 32%) 26px 0 / 24px 84px no-repeat,
    linear-gradient(to top, rgba(45, 212, 191, 0.46) 54%, transparent 54%) 76px 0 / 24px 84px no-repeat,
    linear-gradient(to top, rgba(45, 212, 191, 0.42) 72%, transparent 72%) 126px 0 / 24px 84px no-repeat,
    linear-gradient(to top, rgba(45, 212, 191, 0.34) 48%, transparent 48%) 176px 0 / 24px 84px no-repeat;
}

.panel-donut {
  top: 160px;
  right: 0;
  width: 250px;
  height: 150px;
}

.panel-donut::before {
  content: "";
  position: absolute;
  left: 64px;
  top: 32px;
  width: 86px;
  height: 86px;
  border-radius: 999px;
  background: conic-gradient(rgba(45, 212, 191, 0.58), rgba(45, 212, 191, 0.18), rgba(45, 212, 191, 0.38), rgba(45, 212, 191, 0.58));
}

.panel-donut::after {
  content: "";
  position: absolute;
  left: 88px;
  top: 56px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #071b2b;
}

.panel-line {
  top: 330px;
  right: 120px;
  width: 340px;
  height: 140px;
}

.panel-line::before {
  content: "";
  position: absolute;
  inset: 38px 26px 30px;
  background:
    linear-gradient(135deg, transparent 8%, rgba(45, 212, 191, 0.44) 8% 10%, transparent 10% 24%, rgba(45, 212, 191, 0.5) 24% 26%, transparent 26% 44%, rgba(45, 212, 191, 0.42) 44% 46%, transparent 46% 58%, rgba(45, 212, 191, 0.62) 58% 60%, transparent 60%);
}

.login-brand-hero {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 44px;
  color: #fff;
}

.login-brand-hero strong {
  display: block;
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 0.95;
}

.login-brand-hero small {
  display: block;
  margin-top: 8px;
  color: #20c9ac;
  font-size: 1.1rem;
  font-weight: 800;
}

.login-brand-mark {
  width: 92px;
  height: 92px;
  border-radius: 14px;
  font-size: 2rem;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}

.login-card {
  position: relative;
  z-index: 1;
  width: min(500px, 100%);
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.30);
  gap: 14px;
}

.login-card-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 4px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #d9f7ed;
  color: var(--brand-strong);
  font-weight: 900;
}

.login-card-icon::before,
.login-input-icon::before,
.login-field-action::before {
  content: "";
  width: 22px;
  height: 22px;
  display: block;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.icon-user::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E");
}

.icon-lock::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 1 1 4 0v2h-4V7Zm3 10.73V18h-2v-1.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2Zm-7-2a2 2 0 1 1 4 0v2h-4V7Zm3 10.73V18h-2v-1.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E");
}

.icon-building::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 21V3h10v4h6v14H4Zm4-2h2v-2H8v2Zm0-4h2v-2H8v2Zm0-4h2V9H8v2Zm0-4h2V5H8v2Zm5 12h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V9h-2v2Zm4 8h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V9h-2v2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 21V3h10v4h6v14H4Zm4-2h2v-2H8v2Zm0-4h2v-2H8v2Zm0-4h2V9H8v2Zm0-4h2V5H8v2Zm5 12h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V9h-2v2Zm4 8h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V9h-2v2Z'/%3E%3C/svg%3E");
}

.icon-eye::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 5c5.2 0 8.5 4.4 9.6 6.2.3.5.3 1.1 0 1.6C20.5 14.6 17.2 19 12 19s-8.5-4.4-9.6-6.2a1.6 1.6 0 0 1 0-1.6C3.5 9.4 6.8 5 12 5Zm0 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 5c5.2 0 8.5 4.4 9.6 6.2.3.5.3 1.1 0 1.6C20.5 14.6 17.2 19 12 19s-8.5-4.4-9.6-6.2a1.6 1.6 0 0 1 0-1.6C3.5 9.4 6.8 5 12 5Zm0 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
}

.icon-eye.is-visible::before {
  opacity: 0.62;
}

.login-card-title {
  text-align: center;
}

.login-card-title h1 {
  margin: 0;
  font-size: 1.55rem;
}

.login-card-title p {
  margin: 8px 0 10px;
  color: #98a2b3;
}

.login-field {
  position: relative;
  display: grid;
  gap: 6px;
}

.login-field label {
  color: #667085;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.login-field input,
.login-field select {
  width: 100%;
  min-height: 50px;
  padding: 0 46px;
  border: 1px solid #d9e3ea;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.login-database-alias {
  min-height: 16px;
  color: #667085;
  font-size: 0.75rem;
  font-weight: 800;
}

.login-input-icon,
.login-field-action {
  position: absolute;
  bottom: 10px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #98a2b3;
  font-size: 0.7rem;
  font-weight: 900;
}

.login-input-icon {
  left: 14px;
  width: 28px;
}

.login-field-action {
  right: 10px;
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  background: transparent;
}

.recover-password-link {
  justify-self: end;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--brand-strong);
  font-weight: 800;
}

.login-button {
  min-height: 56px;
  margin-top: 8px;
  border-radius: 8px;
  background: linear-gradient(90deg, #10b981, #059669);
  box-shadow: 0 12px 24px rgba(16, 185, 129, 0.24);
  font-size: 1.05rem;
}

.login-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #ffffff;
  border-radius: 999px;
  display: none;
}

.login-card.is-loading .login-spinner {
  display: inline-block;
  animation: swn-spin 900ms linear infinite;
}

.login-progress {
  height: 9px;
  margin-top: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: #e9eef2;
}

.login-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #059669, #14b8a6);
}

.login-card.is-loading .login-progress span {
  width: 100%;
  transition: width 3000ms linear;
}

.login-loading-text {
  margin: 0;
  color: #667085;
  text-align: center;
  font-size: 0.92rem;
}

.login-footer-message,
.login-footer-version {
  position: relative;
  z-index: 1;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.78);
  text-align: center;
}

.login-footer-version {
  margin-top: 10px;
}

@keyframes swn-spin {
  to { transform: rotate(360deg); }
}

.sidebar {
  position: sticky;
  top: 0;
  width: 204px;
  min-height: 100vh;
  padding: 16px 12px;
  background: linear-gradient(180deg, var(--sidebar), var(--sidebar-2));
  box-shadow: 10px 0 28px rgba(16, 24, 40, 0.10);
  gap: 20px;
  transition: width 180ms ease, padding 180ms ease;
}

body.sidebar-collapsed .sidebar {
  width: 82px;
  padding-inline: 12px;
  overflow: hidden;
}

.brand {
  gap: 10px;
  padding: 0 4px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.brand-mark {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: linear-gradient(135deg, #06b6d4, #10b981);
  color: #0f172a;
  font-size: 1rem;
  letter-spacing: 0;
}

.brand strong {
  color: var(--text-on-dark);
  font-size: 1.05rem;
  line-height: 1.1;
}

.brand small {
  color: #9fb3bf;
  font-size: 0.72rem;
  font-weight: 700;
}

.module-nav {
  gap: 10px;
}

.nav-heading {
  width: 100%;
  min-height: 42px;
  padding: 8px 6px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #ffffff;
  font-size: 0.74rem;
  font-weight: 900;
  gap: 10px;
  text-align: left;
  justify-content: flex-start;
}

.accordion-mark {
  margin-left: auto;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
}

.nav-items {
  gap: 3px;
}

.nav-button {
  min-height: 38px;
  padding: 8px 8px 8px 38px;
  border-radius: 8px;
  color: #d7e4ea;
  font-size: 0.74rem;
  font-weight: 800;
  justify-content: flex-start;
  text-align: left;
}

.nav-button:hover,
.nav-button.active {
  background: #1e293b;
  color: #ffffff;
}

.nav-icon {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
  font-size: 0.62rem;
}

.swn-icon {
  flex: 0 0 auto;
}

.swn-icon::before {
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.swn-icon.icon-system::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7 12 10.7 18.4 7 12 4.3ZM5 8.8v7.1l6 3.3v-7.1L5 8.8Zm8 10.4 6-3.3V8.8l-6 3.3v7.1Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L5.6 7 12 10.7 18.4 7 12 4.3ZM5 8.8v7.1l6 3.3v-7.1L5 8.8Zm8 10.4 6-3.3V8.8l-6 3.3v7.1Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-chart::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19h18v2H2V3h2v16Zm2-2V9h3v8H6Zm5 0V5h3v12h-3Zm5 0v-7h3v7h-3Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19h18v2H2V3h2v16Zm2-2V9h3v8H6Zm5 0V5h3v12h-3Zm5 0v-7h3v7h-3Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-records::before,
.swn-icon.icon-database::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 3h11l4 4v17H5V3Zm10 2v4h4l-4-4ZM8 12v2h9v-2H8Zm0 4v2h9v-2H8Zm0-8v2h5V8H8Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 3h11l4 4v17H5V3Zm10 2v4h4l-4-4ZM8 12v2h9v-2H8Zm0 4v2h9v-2H8Zm0-8v2h5V8H8Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-clipboard::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M9 2h6l1 2h3v20H5V4h3l1-2Zm1.2 3-.5 1h4.6l-.5-1h-3.6ZM7 7v15h10V7H7Zm2 4h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M9 2h6l1 2h3v20H5V4h3l1-2Zm1.2 3-.5 1h4.6l-.5-1h-3.6ZM7 7v15h10V7H7Zm2 4h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-cart::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm11 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM2 3h3l3 11h11l3-8H8.2L7.6 4H2V3Zm7 15h11v-2H8.4L9 18Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm11 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM2 3h3l3 11h11l3-8H8.2L7.6 4H2V3Zm7 15h11v-2H8.4L9 18Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-coin::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 16h-2v-1.4c-1.7-.3-3-1.3-3.1-2.9h2c.1.7.8 1.1 1.9 1.1 1.1 0 1.7-.4 1.7-1.1 0-.6-.4-.9-2.1-1.3-2-.5-3.1-1.3-3.1-3 0-1.5 1.1-2.6 2.7-2.9V5h2v1.4c1.6.3 2.6 1.3 2.8 2.8h-2c-.1-.6-.6-1-1.6-1-1 0-1.6.4-1.6 1 0 .6.5.9 2.2 1.3 2.2.5 3.1 1.4 3.1 3 0 1.6-1.2 2.7-2.9 3V18Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 16h-2v-1.4c-1.7-.3-3-1.3-3.1-2.9h2c.1.7.8 1.1 1.9 1.1 1.1 0 1.7-.4 1.7-1.1 0-.6-.4-.9-2.1-1.3-2-.5-3.1-1.3-3.1-3 0-1.5 1.1-2.6 2.7-2.9V5h2v1.4c1.6.3 2.6 1.3 2.8 2.8h-2c-.1-.6-.6-1-1.6-1-1 0-1.6.4-1.6 1 0 .6.5.9 2.2 1.3 2.2.5 3.1 1.4 3.1 3 0 1.6-1.2 2.7-2.9 3V18Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-user::before,
.swn-icon.icon-users::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-3.3 0-6 1.8-6 4v2h12v-2c0-2.2-2.7-4-6-4Zm8.5-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0 1.5c-.8 0-1.5.1-2.2.4 1.2.9 1.9 2 1.9 3.3V19H22v-1.8c0-2.1-2-3.7-4.5-3.7Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-3.3 0-6 1.8-6 4v2h12v-2c0-2.2-2.7-4-6-4Zm8.5-1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm0 1.5c-.8 0-1.5.1-2.2.4 1.2.9 1.9 2 1.9 3.3V19H22v-1.8c0-2.1-2-3.7-4.5-3.7Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-building::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 21V3h10v4h6v14H4Zm4-2h2v-2H8v2Zm0-4h2v-2H8v2Zm0-4h2V9H8v2Zm0-4h2V5H8v2Zm5 12h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V9h-2v2Zm4 8h2v-2h-2v2Zm0-4h2v-2h-2v2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 21V3h10v4h6v14H4Zm4-2h2v-2H8v2Zm0-4h2v-2H8v2Zm0-4h2V9H8v2Zm0-4h2V5H8v2Zm5 12h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V9h-2v2Zm4 8h2v-2h-2v2Zm0-4h2v-2h-2v2Z'/%3E%3C/svg%3E");
}

.swn-icon.icon-box::before,
.swn-icon.icon-settings::before,
.swn-icon.icon-calendar::before,
.swn-icon.icon-shield::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m12 2 8 4v12l-8 4-8-4V6l8-4Zm0 2.3L6.5 7 12 9.7 17.5 7 12 4.3ZM6 8.7v8.1l5 2.5v-8.1L6 8.7Zm7 10.6 5-2.5V8.7l-5 2.5v8.1Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m12 2 8 4v12l-8 4-8-4V6l8-4Zm0 2.3L6.5 7 12 9.7 17.5 7 12 4.3ZM6 8.7v8.1l5 2.5v-8.1L6 8.7Zm7 10.6 5-2.5V8.7l-5 2.5v8.1Z'/%3E%3C/svg%3E");
}

.sidebar-actions {
  display: none;
}

.sidebar-status {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  display: grid;
  gap: 14px;
  color: #c8d7df;
  font-weight: 800;
}

.sidebar-online,
.sidebar-clock,
.sidebar-version {
  min-height: 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-inline: 6px;
}

.sidebar-online span {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
}

.sidebar-clock::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 2v2H5a2 2 0 0 0-2 2v16h18V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7Zm12 8H5V7h14v3ZM5 12h14v8H5v-8Z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 2v2H5a2 2 0 0 0-2 2v16h18V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7Zm12 8H5V7h14v3ZM5 12h14v8H5v-8Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.sidebar-collapsed .brand div,
body.sidebar-collapsed .nav-button span:not(.nav-icon),
body.sidebar-collapsed .nav-heading span:not(.nav-icon),
body.sidebar-collapsed .nav-subheading span:not(.nav-icon),
body.sidebar-collapsed .accordion-mark,
body.sidebar-collapsed .sidebar-status {
  display: none;
}

body.sidebar-collapsed .brand {
  justify-content: center;
  padding-inline: 0;
}

body.sidebar-collapsed .brand-mark {
  width: 48px;
  height: 48px;
}

body.sidebar-collapsed .nav-button,
body.sidebar-collapsed .nav-heading,
body.sidebar-collapsed .nav-subheading {
  display: flex;
  justify-content: center;
  padding-inline: 0;
}

body.sidebar-collapsed .nav-button {
  padding-left: 0;
}

body.sidebar-collapsed .module-nav {
  display: grid;
}

body.sidebar-collapsed .nav-items,
body.sidebar-collapsed .nav-group.collapsed .nav-items {
  display: grid;
}

.app-shell {
  padding: 0 36px 34px;
  background: linear-gradient(180deg, #f9fbfc, #f6f9fb);
}

.topbar {
  min-height: 86px;
  margin: 0 -36px 18px;
  padding: 12px 36px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 6px 22px rgba(16, 24, 40, 0.08);
}

.topbar-title {
  display: none;
}

.topbar-user-summary {
  border-left: 0;
  padding-left: 0;
}

.topbar-system-name {
  color: var(--brand-strong);
  font-size: 0.9rem;
}

.welcome-message {
  color: #667085;
  font-size: 0.86rem;
}

.logged-user {
  display: none;
}

.topbar-company-summary,
.topbar-period-summary {
  min-width: 170px;
  height: 54px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  align-content: center;
  background: #fff;
}

.topbar-filter-label {
  color: #667085;
  font-size: 0.74rem;
  font-weight: 800;
}

.company-label {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #101828;
  background: transparent;
  font-size: 0.96rem;
}

.backend-status,
.status-notification,
.icon-button,
.ghost-button {
  border-radius: 8px;
}

.status-notification {
  width: 42px;
  min-height: 42px;
  padding: 0;
  justify-content: center;
}

.status-notification #statusNotificationText {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.topbar-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 155px;
  padding-left: 12px;
  border-left: 1px solid var(--line);
}

.topbar .backend-status {
  display: none;
}

.profile-avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #10b981;
  color: #fff;
  font-weight: 900;
}

.profile-avatar::before {
  content: "";
  width: 21px;
  height: 21px;
  display: block;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0 2c-4.4 0-8 2.2-8 5v1h16v-1c0-2.8-3.6-5-8-5Z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0 2c-4.4 0-8 2.2-8 5v1h16v-1c0-2.8-3.6-5-8-5Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.topbar-profile strong,
.topbar-profile small {
  display: block;
  white-space: nowrap;
}

.topbar-profile small {
  color: #667085;
}

.data-status-bar {
  display: none;
}

.workspace-tabs {
  min-height: 46px;
  margin: 0 0 16px;
}

.workspace-tab {
  background: #f2f5f7;
}

.workspace-tab.active {
  background: #fff;
}

.welcome-hero {
  position: relative;
  min-height: 315px;
  margin: 6px auto 28px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  overflow: hidden;
}

.welcome-hero::before {
  content: "SWN";
  position: absolute;
  inset: 8% 13% auto;
  color: rgba(15, 23, 42, 0.035);
  font-size: clamp(7rem, 16vw, 15rem);
  font-weight: 900;
  line-height: 0.8;
  pointer-events: none;
}

.welcome-hero span {
  position: relative;
  z-index: 1;
  padding: 7px 12px;
  border: 1px solid #b7eadb;
  border-radius: 8px;
  background: #eefdf7;
  color: var(--brand-strong);
  font-size: 0.83rem;
  font-weight: 900;
}

.welcome-hero h2 {
  position: relative;
  z-index: 1;
  margin: 20px 0 12px;
  color: #0f172a;
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 900;
  line-height: 1.06;
}

.welcome-hero i {
  width: 76px;
  height: 4px;
  border-radius: 999px;
  display: block;
  background: var(--brand);
}

.welcome-hero p {
  position: relative;
  z-index: 1;
  max-width: 610px;
  margin: 18px 0 0;
  color: #64748b;
  font-size: 0.96rem;
  line-height: 1.45;
}

#dashboardView .kpi-grid {
  display: none;
}

.panel,
.record-card,
.kpi {
  border-color: #e1e8ee;
  box-shadow: var(--soft-shadow);
}

.primary-button {
  background: #10b981;
  color: #ffffff;
}

.primary-button:hover {
  background: #059669;
}

.ghost-button,
.icon-button {
  color: #0f172a;
}

.shortcut-panel {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.shortcut-panel .panel-header {
  padding: 0 0 16px;
  border: 0;
}

.shortcut-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(145px, 1fr));
  gap: 18px;
}

.shortcut-card {
  position: relative;
  min-height: 158px;
  padding: 20px 18px;
  border: 1px solid #e1e8ee;
  border-radius: 8px;
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 10px;
  background: #fff;
  color: var(--ink);
  box-shadow: var(--soft-shadow);
  text-align: left;
}

.shortcut-card .nav-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
  font-size: 0.76rem;
}

.shortcut-card .swn-icon::before {
  width: 19px;
  height: 19px;
}

.shortcut-card[data-icon-tone="green"] .nav-icon {
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
}

.shortcut-card[data-icon-tone="blue"] .nav-icon {
  background: rgba(59, 130, 246, 0.14);
  color: #3b82f6;
}

.shortcut-card[data-icon-tone="orange"] .nav-icon {
  background: rgba(245, 158, 11, 0.16);
  color: #f59e0b;
}

.shortcut-card[data-icon-tone="purple"] .nav-icon {
  background: rgba(139, 92, 246, 0.15);
  color: #8b5cf6;
}

.shortcut-card strong {
  color: #0f172a;
  font-size: 0.92rem;
  line-height: 1.2;
}

.shortcut-card small {
  max-width: 150px;
  color: #64748b;
  font-size: 0.8rem;
  line-height: 1.35;
}

.shortcut-arrow {
  position: absolute;
  right: 16px;
  bottom: 16px;
  color: #344054;
  font-weight: 900;
}

.parameters-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0 18px;
}

.parameters-page-head h2 {
  margin: 0 0 6px;
  font-size: 1.7rem;
  color: #0f172a;
}

.parameters-page-head p {
  margin: 0;
  color: #667085;
}

.parameters-page-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.parameters-panel {
  min-height: calc(100vh - 190px);
  padding: 0;
  overflow: hidden;
  background: #ffffff;
}

.parameters-header {
  min-height: 54px;
  padding: 0 20px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.parameters-tabs {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  background: #f7fafc;
}

.parameters-tab {
  min-height: 56px;
  border-right: 1px solid var(--line);
  background: #f8fafc;
  color: #344054;
  font-size: 0.9rem;
  font-weight: 800;
}

.parameters-tab:hover,
.parameters-tab.active {
  border-bottom-color: var(--brand);
  background: #fff;
  color: #10b981;
}

.parameters-tab-content {
  padding: 12px;
}

.parameters-form {
  gap: 12px;
}

.cost-center-contact-stack {
  grid-template-columns: minmax(280px, 560px) !important;
  align-content: start;
  gap: 14px;
}

#recordDialog[data-collection="centrosCusto"] #formFields { display:block; }
#recordDialog .external-users-tab { grid-template-columns:minmax(0,1fr)!important; grid-column:1/-1; width:100%; min-width:0; }
#recordDialog [data-external-users-panel] { width:100%; min-width:0; }
#recordDialog .external-users-grid input[type="radio"] { min-height:0; width:16px; height:16px; }
.external-users-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.external-users-toolbar button { white-space:nowrap; }
.external-users-grid { width:100%; overflow:auto; border:1px solid #d9e2eb; border-radius:8px; }
.external-users-grid table { width:100%; min-width:850px; border-collapse:collapse; }
.external-users-grid th,.external-users-grid td { padding:12px; border-bottom:1px solid #e2e8f0; text-align:left; }
.external-users-grid th { background:#f1f5f9; font-size:12px; color:#60718b; }
.external-user-dialog { width:min(820px,90vw); height:fit-content; min-height:0; max-height:90vh; overflow:auto; border:1px solid #d9e2eb; border-radius:12px; padding:24px; }
.external-user-dialog input:not([type=checkbox]),.external-user-dialog select { width:100%; box-sizing:border-box; padding:10px; border:1px solid #cbd5e1; border-radius:6px; }
.external-user-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0; }
.external-user-fields label { display:grid; gap:6px; }
.external-user-fields label:has(input[type="checkbox"]) { display:flex; align-items:center; gap:8px; }
.external-users-grid td:last-child { white-space:nowrap; }
@media(max-width:650px) { .external-user-fields { grid-template-columns:1fr; } }

.cost-center-contact-stack > .field,
.cost-center-contact-stack > label {
  grid-column: 1 !important;
  width: 100%;
}

.purchase-email-overlay { position: fixed; inset: 0; z-index: 12000; display: grid; place-items: center; padding: 22px; background: rgba(15, 23, 42, .66); }
.purchase-email-dialog { width: min(1180px, 96vw); max-height: 94vh; display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 24px 70px rgba(15, 23, 42, .35); }
.purchase-email-dialog > header { display: flex; justify-content: space-between; gap: 18px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.purchase-email-dialog h2, .purchase-email-dialog h3, .purchase-email-dialog p { margin: 0; }
.purchase-email-dialog header p { margin-top: 5px; color: #64748b; }
.purchase-email-fields { display: grid; gap: 10px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.purchase-email-fields label { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 12px; font-weight: 800; }
.purchase-email-fields input { min-height: 40px; padding: 8px 12px; border: 1px solid #cbd5e1; border-radius: 7px; font: inherit; }
.purchase-email-body { flex: 1; overflow: auto; padding: 18px 24px; background: #f8fafc; }
.purchase-email-body > h3 { margin-bottom: 10px; }
.purchase-email-report { padding: 22px; border: 1px solid #dbe4ea; border-radius: 8px; background: #fff; color: #0f172a; }
.purchase-email-report header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 2px solid #0f766e; text-align: right; }
.purchase-email-report header div:first-child { text-align: left; }
.purchase-email-report header strong, .purchase-email-report header span { display: block; }
.purchase-email-report header strong { font-size: 1.25rem; }
.purchase-email-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 14px; border: 1px solid #cbd5e1; }
.purchase-email-summary div { min-height: 58px; padding: 9px; border-right: 1px solid #cbd5e1; border-bottom: 1px solid #cbd5e1; }
.purchase-email-summary span, .purchase-email-attachment small { display: block; color: #64748b; font-size: .75rem; }
.purchase-email-observation { margin: 14px 0 !important; padding: 10px; border: 1px solid #cbd5e1; white-space: pre-wrap; }
.purchase-email-report table { width: 100%; border-collapse: collapse; }
.purchase-email-report th, .purchase-email-report td { padding: 7px; border: 1px solid #cbd5e1; text-align: left; }
.purchase-email-report th { background: #eef6f5; }
.purchase-email-report tfoot { font-weight: 800; }
.purchase-email-attachment { display: flex; align-items: center; gap: 12px; padding: 13px 24px; border-top: 1px solid var(--line); }
.purchase-email-attachment div { flex: 1; }
.purchase-email-dialog > footer { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 14px 24px; border-top: 1px solid var(--line); }
.purchase-email-dialog > footer span { flex: 1; color: #b42318; font-size: .86rem; }
@media (max-width: 720px) { .purchase-email-overlay { padding: 0; } .purchase-email-dialog { width: 100vw; max-height: 100vh; height: 100vh; border-radius: 0; } .purchase-email-fields label { grid-template-columns: 58px 1fr; } .purchase-email-summary { grid-template-columns: 1fr; } }

.parameters-config-grid,
.totvs-config-grid {
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 18px 54px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.parameter-row {
  min-height: 62px;
  display: grid;
  grid-template-columns: minmax(140px, 0.9fr) minmax(180px, 1.2fr);
  align-items: center;
  gap: 10px 16px;
}

.parameter-row label {
  color: #0f172a;
  font-weight: 900;
}

.parameter-control input:not([type="checkbox"]),
.parameter-control select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d9e3ea;
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
}

.parameter-switch {
  position: relative;
  width: 46px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.parameter-switch input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: inherit;
}

.parameter-switch span {
  position: relative;
  width: 46px;
  height: 24px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  display: block;
  background: #94a3b8;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.18);
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.parameter-switch span::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 5px rgba(15, 23, 42, 0.22);
  transition: transform 180ms ease;
}

.parameter-switch input:checked + span {
  border-color: #10b981;
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
}

.parameter-switch input:checked + span::before {
  transform: translateX(21px);
}

.parameter-switch input:focus-visible + span {
  outline: 3px solid rgba(16, 185, 129, 0.24);
  outline-offset: 2px;
}

.parameter-switch input:disabled + span {
  opacity: 0.55;
  cursor: not-allowed;
}

.parameter-row p {
  grid-column: 2;
  margin: -5px 0 0;
  color: #667085;
  font-size: 0.76rem;
}

.parameter-actions {
  margin-top: 12px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  background: #fff;
  color: #1e293b;
}

.totvs-config-card {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.totvs-config-grid {
  padding: 12px 0 0;
  border: 0;
}

@media (max-width: 1180px) {
  .shortcut-grid {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
  }

  .topbar {
    flex-wrap: wrap;
  }
}

@media (max-width: 820px) {
  body,
  body.sidebar-collapsed {
    display: block;
  }

  .sidebar {
    position: relative;
    width: 100%;
    min-height: auto;
  }

  .app-shell {
    padding: 0 16px 24px;
  }

  .topbar {
    margin: 0 -16px 16px;
    padding: 12px 16px;
  }

  .login-visual-panels {
    display: none;
  }

  .topbar-actions,
  .parameters-page-head {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .topbar-company-summary,
  .topbar-period-summary,
  .topbar-profile {
    width: 100%;
  }

  .welcome-hero {
    min-height: 320px;
  }

  .shortcut-grid,
  .parameters-tabs,
  .parameters-config-grid,
  .totvs-config-grid,
  .parameter-row {
    grid-template-columns: 1fr;
  }

  .parameter-row p {
    grid-column: 1;
  }
}

/* Versao 2.01.26.0001 - OS e refinamentos de menu */
.nav-heading {
  text-transform: none;
}

.nav-heading > span:not(.nav-icon):not(.accordion-mark),
.nav-button > span:not(.nav-icon),
.nav-subheading > span:not(.nav-icon) {
  text-transform: none;
}

.nav-group.collapsed .nav-heading .accordion-mark,
.nav-group.expanded .nav-heading .accordion-mark {
  transform: none;
}

#osView {
  color: #0f172a;
}

.os-layout-panel {
  padding: 22px 20px 18px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
}

.os-layout-panel > h2 {
  margin: 0 0 16px;
  color: #0f172a;
  font-size: 1.45rem;
  font-weight: 900;
}

.os-filter-toolbar {
  min-height: 108px;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(240px, 0.7fr) auto;
  gap: 12px 18px;
  background: #ffffff;
}

.os-search-box {
  min-height: 52px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
}

.os-search-box input {
  height: 50px;
}

.os-status-field {
  display: grid;
  gap: 5px;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 800;
}

.os-status-field select {
  min-height: 52px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 700;
}

.os-advanced-button {
  align-self: end;
  min-height: 52px;
  padding-inline: 18px;
}

.os-columns-button {
  grid-column: 1;
  justify-self: start;
}

.os-actions-bar {
  margin-bottom: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.os-page-size-field {
  margin-left: auto;
  display: grid;
  gap: 4px;
  color: #0f172a;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.os-page-size-field select {
  min-width: 92px;
  min-height: 38px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 600;
}

.os-advanced-filters {
  margin: -8px 0 16px;
  padding: 14px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  background: #f8fafc;
}

.os-advanced-filters label {
  display: grid;
  gap: 5px;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 800;
}

.os-advanced-filters input,
.os-advanced-filters select {
  min-height: 42px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
}

.os-advanced-button.active {
  border-color: #10b981;
  color: #10b981;
  background: rgba(16, 185, 129, 0.08);
}

.os-actions-bar button,
.os-filter-toolbar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-color: #dbe4ee;
  background: #ffffff;
  color: #1e293b;
  font-size: 0.86rem;
  font-weight: 800;
}

.os-actions-bar .primary-button {
  background: #10b981;
  color: #ffffff;
}

.os-actions-bar .danger {
  color: #ef4444;
}

.action-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  display: inline-block;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.icon-search { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m21 19.6-4.6-4.6a7.5 7.5 0 1 0-1.4 1.4l4.6 4.6L21 19.6ZM4 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m21 19.6-4.6-4.6a7.5 7.5 0 1 0-1.4 1.4l4.6 4.6L21 19.6ZM4 10.5a5.5 5.5 0 1 1 11 0 5.5 5.5 0 0 1-11 0Z'/%3E%3C/svg%3E"); }
.icon-sliders { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 7h9v2H4V7Zm11-2h2v2h3v2h-3v2h-2V5ZM4 15h3v2H4v-2Zm5-2h2v2h9v2h-9v2H9v-6Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 7h9v2H4V7Zm11-2h2v2h3v2h-3v2h-2V5ZM4 15h3v2H4v-2Zm5-2h2v2h9v2h-9v2H9v-6Z'/%3E%3C/svg%3E"); }
.icon-columns { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 5h16v14H4V5Zm2 2v10h4V7H6Zm6 0v10h6V7h-6Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 5h16v14H4V5Zm2 2v10h4V7H6Zm6 0v10h6V7h-6Z'/%3E%3C/svg%3E"); }
.icon-plus { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 4h2v7h7v2h-7v7h-2v-7H4v-2h7V4Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 4h2v7h7v2h-7v7h-2v-7H4v-2h7V4Z'/%3E%3C/svg%3E"); }
.icon-refresh { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M17.7 6.3A8 8 0 1 0 20 12h-2a6 6 0 1 1-1.8-4.3L13 11h8V3l-3.3 3.3Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M17.7 6.3A8 8 0 1 0 20 12h-2a6 6 0 1 1-1.8-4.3L13 11h8V3l-3.3 3.3Z'/%3E%3C/svg%3E"); }
.icon-filter { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18l-7 8v6l-4 2v-8L3 5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18l-7 8v6l-4 2v-8L3 5Z'/%3E%3C/svg%3E"); }
.icon-search { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M10 4a6 6 0 1 1 0 12 6 6 0 0 1 0-12Zm0 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm5.3 8.9 4.8 4.8-1.4 1.4-4.8-4.8 1.4-1.4Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M10 4a6 6 0 1 1 0 12 6 6 0 0 1 0-12Zm0 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm5.3 8.9 4.8 4.8-1.4 1.4-4.8-4.8 1.4-1.4Z'/%3E%3C/svg%3E"); }
.icon-fullscreen { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 4h7v2H7.4l4.1 4.1-1.4 1.4L6 7.4V11H4V4Zm9 0h7v7h-2V7.4l-4.1 4.1-1.4-1.4L16.6 6H13V4ZM4 13h2v3.6l4.1-4.1 1.4 1.4L7.4 18H11v2H4v-7Zm14 0h2v7h-7v-2h3.6l-4.1-4.1 1.4-1.4 4.1 4.1V13Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 4h7v2H7.4l4.1 4.1-1.4 1.4L6 7.4V11H4V4Zm9 0h7v7h-2V7.4l-4.1 4.1-1.4-1.4L16.6 6H13V4ZM4 13h2v3.6l4.1-4.1 1.4 1.4L7.4 18H11v2H4v-7Zm14 0h2v7h-7v-2h3.6l-4.1-4.1 1.4-1.4 4.1 4.1V13Z'/%3E%3C/svg%3E"); }
.icon-filter { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18l-7 8v6l-4 2v-8L3 5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18l-7 8v6l-4 2v-8L3 5Z'/%3E%3C/svg%3E"); }
.icon-clear-filter { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h13.6l-2 2H7.8l4.2 5v4.6l-2 1V12L3 5Zm17.8-1.8L22.2 4.6 4.6 22.2 3.2 20.8 20.8 3.2ZM19 8.8 21 5h-3.2l-2 2H17l-1.4 1.7-1.4 1.4L19 8.8Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h13.6l-2 2H7.8l4.2 5v4.6l-2 1V12L3 5Zm17.8-1.8L22.2 4.6 4.6 22.2 3.2 20.8 20.8 3.2ZM19 8.8 21 5h-3.2l-2 2H17l-1.4 1.7-1.4 1.4L19 8.8Z'/%3E%3C/svg%3E"); }
.icon-edit { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 17.5V21h3.5L18.1 10.4l-3.5-3.5L4 17.5ZM19.7 8.8a1 1 0 0 0 0-1.4l-2.1-2.1a1 1 0 0 0-1.4 0l-1.1 1.1 3.5 3.5 1.1-1.1Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 17.5V21h3.5L18.1 10.4l-3.5-3.5L4 17.5ZM19.7 8.8a1 1 0 0 0 0-1.4l-2.1-2.1a1 1 0 0 0-1.4 0l-1.1 1.1 3.5 3.5 1.1-1.1Z'/%3E%3C/svg%3E"); }
.icon-ban { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4Zm0 16a8 8 0 0 1-6.3-12.9l11.2 11.2A8 8 0 0 1 12 20Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4Zm0 16a8 8 0 0 1-6.3-12.9l11.2 11.2A8 8 0 0 1 12 20Z'/%3E%3C/svg%3E"); }
.icon-trash { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 21h10l1-14H6l1 14ZM9 4l1-2h4l1 2h5v2H4V4h5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 21h10l1-14H6l1 14ZM9 4l1-2h4l1 2h5v2H4V4h5Z'/%3E%3C/svg%3E"); }
.icon-clipboard { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8 4h2a2 2 0 0 1 4 0h2v2h3v18H5V6h3V4Zm2 2h4V4h-4v2Zm-3 2v14h10V8H7Zm2 4h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8 4h2a2 2 0 0 1 4 0h2v2h3v18H5V6h3V4Zm2 2h4V4h-4v2Zm-3 2v14h10V8H7Zm2 4h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E"); }
.icon-play { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8 5v14l11-7L8 5Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8 5v14l11-7L8 5Z'/%3E%3C/svg%3E"); }
.icon-check { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9 16.2-4.2-4.2-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9 16.2-4.2-4.2-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E"); }
.icon-link { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3.9 12a5 5 0 0 1 5-5h4v2h-4a3 3 0 0 0 0 6h4v2h-4a5 5 0 0 1-5-5Zm5.1 1h6v-2H9v2Zm2-6h4a5 5 0 0 1 0 10h-4v-2h4a3 3 0 0 0 0-6h-4V7Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3.9 12a5 5 0 0 1 5-5h4v2h-4a3 3 0 0 0 0 6h4v2h-4a5 5 0 0 1-5-5Zm5.1 1h6v-2H9v2Zm2-6h4a5 5 0 0 1 0 10h-4v-2h4a3 3 0 0 0 0-6h-4V7Z'/%3E%3C/svg%3E"); }
.icon-download { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 3h2v9l3-3 1.4 1.4L12 15.8 6.6 10.4 8 9l3 3V3ZM5 19h14v-4h2v6H3v-6h2v4Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 3h2v9l3-3 1.4 1.4L12 15.8 6.6 10.4 8 9l3 3V3ZM5 19h14v-4h2v6H3v-6h2v4Z'/%3E%3C/svg%3E"); }
.icon-upload { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 16h2V7l3 3 1.4-1.4L12 3.2 6.6 8.6 8 10l3-3v9ZM5 19h14v-4h2v6H3v-6h2v4Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 16h2V7l3 3 1.4-1.4L12 3.2 6.6 8.6 8 10l3-3v9ZM5 19h14v-4h2v6H3v-6h2v4Z'/%3E%3C/svg%3E"); }
.icon-print { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 3h10v5H7V3Zm-2 7h14a3 3 0 0 1 3 3v6h-4v3H6v-3H2v-6a3 3 0 0 1 3-3Zm3 10h8v-5H8v5Zm12-5v-2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2h2v-2h12v2h2Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 3h10v5H7V3Zm-2 7h14a3 3 0 0 1 3 3v6h-4v3H6v-3H2v-6a3 3 0 0 1 3-3Zm3 10h8v-5H8v5Zm12-5v-2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v2h2v-2h12v2h2Z'/%3E%3C/svg%3E"); }
.icon-mail { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18v14H3V5Zm2 2v.5l7 4.4 7-4.4V7H5Zm14 10V9.8l-7 4.4-7-4.4V17h14Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18v14H3V5Zm2 2v.5l7 4.4 7-4.4V7H5Zm14 10V9.8l-7 4.4-7-4.4V17h14Z'/%3E%3C/svg%3E"); }

.os-table-wrap {
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
}

.os-table {
  border-collapse: collapse;
  color: #1e293b;
  font-size: 0.82rem;
}

.os-table thead th {
  height: 48px;
  padding: 10px 12px;
  background: #f1f5f9;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.os-table tbody td {
  height: 52px;
  padding: 9px 12px;
  border-bottom: 1px solid #e2e8f0;
  color: #1e293b;
  font-weight: 700;
}

.os-table tbody tr:hover td {
  background: #f8fafc;
}

.os-select-column {
  width: 44px;
  text-align: center;
}

.os-table .status-dot,
.os-table .integration-flag-dot {
  width: 15px;
  height: 15px;
  border-width: 2px;
}

.os-table tr.urgent-priority-row td,
.os-table td.urgent-priority-cell {
  background: #fef2f2;
}

.os-table tr.urgent-priority-row:hover td {
  background: #fee2e2;
}

.priority-label {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #1e293b;
  font-weight: 800;
}

.urgent-priority-cell .priority-label {
  background: #fee2e2;
  color: #991b1b;
}

#recordDialog {
  border: 0;
  border-radius: 8px;
  background: #f8fafc;
}

#recordDialog .dialog-header {
  border-bottom: 0;
}

#recordDialog .dialog-tabs {
  gap: 4px;
  border-bottom: 1px solid #dbe4ee;
}

#recordDialog .dialog-tab {
  min-height: 42px;
  border-radius: 0;
  border-bottom: 3px solid transparent;
  background: #ffffff;
  color: #1e293b;
  font-weight: 800;
}

#recordDialog .dialog-tab.active {
  border-bottom-color: #10b981;
  color: #10b981;
}

#recordDialog .dialog-actions {
  border-top: 1px solid #dbe4ee;
  padding-top: 14px;
}

@media (max-width: 1120px) {
  .os-filter-toolbar {
    grid-template-columns: 1fr;
  }

  .os-columns-button {
    grid-column: auto;
  }

  .os-advanced-filters {
    grid-template-columns: 1fr;
  }
}

/* Revisao OS/menu */
body {
  grid-template-columns: 230px 1fr;
}

.sidebar {
  width: 230px;
}

.nav-heading,
.nav-button,
.nav-subheading {
  font-size: 0.84rem;
  font-weight: 400;
}

.nav-heading {
  letter-spacing: 0;
}

.nav-button {
  min-height: 42px;
  padding-left: 40px;
}

.nav-heading > span:not(.nav-icon):not(.accordion-mark),
.nav-button > span:not(.nav-icon),
.nav-subheading > span:not(.nav-icon) {
  font-weight: 400;
}

.accordion-mark {
  font-weight: 400;
}

.os-filter-toolbar {
  grid-template-columns: minmax(420px, 1.35fr) minmax(280px, 0.95fr) auto;
  align-items: end;
}

.os-actions-bar button,
.os-filter-toolbar button {
  font-weight: 500;
}

.action-icon {
  width: 17px;
  height: 17px;
}

.os-table tbody td {
  font-weight: 400;
}

.os-table thead th {
  font-weight: 700;
}

.os-sort-button {
  width: 100%;
  border: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.os-sort-button:hover {
  color: #0f766e;
}

.os-sort-indicator {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  opacity: 0.34;
}

.os-sort-button .os-sort-indicator {
  border-top: 6px solid currentColor;
}

.os-sort-button.active.asc .os-sort-indicator {
  border-top: 0;
  border-bottom: 6px solid currentColor;
  opacity: 1;
}

.os-sort-button.active.desc .os-sort-indicator {
  border-top: 6px solid currentColor;
  opacity: 1;
}

.priority-label,
.urgent-priority-cell .priority-label {
  font-weight: 400;
}

.os-table td.os-priority-cell {
  font-weight: 400;
}

.os-filter-dialog {
  width: min(880px, calc(100vw - 32px));
  border: 0;
  border-radius: 8px;
}

.os-filter-dialog::backdrop {
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(2px);
}

.os-filter-dialog .dialog-header {
  padding-bottom: 12px;
  border-bottom: 1px solid #dbe4ee;
}

.os-filter-dialog .os-advanced-filters {
  margin: 14px 0 0;
  border: 0;
  background: transparent;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.os-filter-dialog .dialog-actions {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #dbe4ee;
}

#recordDialog {
  width: min(1060px, calc(100vw - 64px));
  border: 0;
  border-radius: 8px;
  box-shadow: 0 30px 90px rgba(15, 23, 42, 0.28);
}

#recordDialog::backdrop {
  background: rgba(15, 23, 42, 0.46);
  backdrop-filter: blur(2px);
}

#recordDialog form {
  padding: 24px 28px;
  background: #f8fafc;
}

#recordDialog .dialog-header {
  padding: 0 0 14px;
}

#recordDialog .dialog-header h2 {
  font-size: 1.25rem;
  font-weight: 800;
}

#recordDialog .form-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 16px 22px;
  margin-top: 18px;
}

#recordDialog .field label {
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

#recordDialog input,
#recordDialog select,
#recordDialog textarea {
  min-height: 44px;
  border: 1px solid #cfdbe7;
  border-radius: 7px;
  background: #ffffff;
  color: #1e293b;
  font-weight: 400;
}

#recordDialog textarea {
  min-height: 76px;
}

#recordDialog .field.full {
  grid-column: 1 / -1;
}

#recordDialog[data-collection="funcionarios"] #formFields {
  display: block;
}

#recordDialog[data-collection="funcionarios"] .employee-tab-panel.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 16px 22px;
  margin-top: 18px;
}

#recordDialog[data-collection="funcionarios"] .employee-tab-panel.hidden {
  display: none;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-field {
  grid-column: 1 / -1;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-toolbar {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #cfdbe7;
  border-radius: 7px;
  background: #ffffff;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-select-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1e293b;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: none;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-select-all input,
#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  accent-color: #10b981;
}

#recordDialog[data-collection="funcionarios"] [data-employee-cost-center-count] {
  color: #64748b;
  font-size: 0.86rem;
  font-weight: 700;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid-wrap {
  max-height: min(430px, calc(100vh - 340px));
  overflow: auto;
  border: 1px solid #dbe4ee;
  border-radius: 7px;
  background: #ffffff;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid th,
#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid td {
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: middle;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid th:last-child,
#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid td:last-child {
  width: auto;
  text-align: left;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid tr:last-child td {
  border-bottom: 0;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-grid tbody tr:hover td {
  background: #f8fafc;
}

#recordDialog[data-collection="funcionarios"] .employee-cost-center-check-col {
  width: 96px;
  text-align: center;
}

.employee-lookup-picker {
  grid-template-columns: minmax(180px, 1fr) auto;
}

.employee-lookup-picker [data-employee-lookup-display] {
  min-width: 0;
}

#recordDialog .dialog-actions .primary-button {
  min-width: 110px;
  background: #10b981;
}

#recordDialog .dialog-actions .ghost-button {
  min-width: 96px;
  background: #ffffff;
}

@media (max-width: 1120px) {
  body {
    grid-template-columns: 210px 1fr;
  }

  .sidebar {
    width: 210px;
  }

  .os-filter-toolbar,
  .os-filter-dialog .os-advanced-filters,
  #recordDialog .form-grid,
  #recordDialog[data-collection="funcionarios"] .employee-tab-panel.form-grid {
    grid-template-columns: 1fr;
  }
}

/* Revisao modal Nova OS */
.icon-save {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2Z'/%3E%3Cpath d='M17 21v-8H7v8'/%3E%3Cpath d='M7 3v5h8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2Z'/%3E%3Cpath d='M17 21v-8H7v8'/%3E%3Cpath d='M7 3v5h8'/%3E%3C/svg%3E");
}

#recordDialog[data-collection="ordens"] {
  width: min(1180px, calc(100vw - 36px));
  height: min(860px, calc(100vh - 24px));
  max-width: none;
  max-height: none;
  background: #e8eef3;
  overflow: hidden;
}

#recordDialog[data-collection="ordens"] #recordForm {
  height: 100%;
  min-height: 0;
  padding: 24px 28px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  background: #e8eef3;
}

#recordDialog[data-collection="ordens"] .dialog-header {
  margin-bottom: 14px;
}

#recordDialog[data-collection="ordens"] .dialog-tabs {
  margin-bottom: 16px;
}

#recordDialog[data-collection="ordens"] #formFields {
  min-height: 0;
  overflow: auto;
  align-content: start;
  padding: 0 4px 8px 0;
}

#recordDialog[data-collection="ordens"] .form-grid {
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 14px 22px;
  margin-top: 0;
}

#recordDialog[data-collection="ordens"] .field {
  gap: 6px;
}

#recordDialog[data-collection="ordens"] .field input,
#recordDialog[data-collection="ordens"] .field textarea,
#recordDialog[data-collection="ordens"] .field select {
  min-height: 44px;
  padding: 9px 12px;
}

#recordDialog[data-collection="ordens"] .field textarea {
  min-height: 84px;
}

#recordDialog[data-collection="ordens"] .dialog-actions {
  position: static;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #cbd5e1;
  background: #e8eef3;
}

#recordDialog[data-collection="ordens"] .dialog-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  font-weight: 600;
}

#recordDialog[data-collection="ordens"] .dialog-cancel-button {
  min-width: 112px;
}

#recordDialog[data-collection="ordens"] .dialog-save-button {
  min-width: 120px;
  background: #10b981;
}

@media (max-width: 1120px) {
  #recordDialog[data-collection="ordens"] {
    width: min(960px, calc(100vw - 24px));
    height: min(860px, calc(100vh - 20px));
  }

  #recordDialog[data-collection="ordens"] .form-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 760px) {
  #recordDialog[data-collection="ordens"] #recordForm {
    padding: 18px;
  }

  #recordDialog[data-collection="ordens"] .form-grid {
    grid-template-columns: 1fr;
  }
}

/* Revisao OS filtros/fontes */
.sidebar-status,
.sidebar-online,
.sidebar-clock,
.sidebar-version,
.system-version {
  font-weight: 400;
}

.os-filter-dialog label,
.os-filter-dialog label span,
.os-filter-dialog select,
.os-filter-dialog input {
  font-weight: 400;
}

.os-filter-dialog select option {
  font-weight: 400;
}

.os-filter-dialog .os-advanced-filters {
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  gap: 14px 16px;
}

.os-filter-dialog select,
.os-filter-dialog input {
  min-height: 40px;
}

/* Dashboard Faturamento 1.1 */
.billing-dashboard {
  padding: 18px;
  background: #f8fafc;
}

.fiscal-dashboard {
  display: grid;
  gap: 16px;
  padding: 18px;
  background: #fff;
}

.fiscal-header,
.fiscal-actions,
.fiscal-view-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fiscal-actions {
  color: var(--muted);
  font-size: 0.9rem;
}

.fiscal-actions .primary-button,
.fiscal-actions .ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.fiscal-filter-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 40px));
}

.fiscal-filter-dialog form {
  display: grid;
  gap: 12px;
}

.fiscal-filter-dialog .dialog-header {
  padding-bottom: 2px;
  border-bottom: 0;
}

.fiscal-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  align-items: end;
}

.fiscal-filter-grid label {
  display: grid;
  gap: 6px;
  color: #0f172a;
  font-size: 0.86rem;
  font-weight: 600;
}

.fiscal-filter-grid select,
.fiscal-filter-grid input {
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #d7e1ea;
  border-radius: 6px;
  background: #fff;
  color: #334155;
}

.fiscal-filter-grid label:nth-child(4) {
  grid-column: 1;
  grid-row: 1;
}

.fiscal-filter-grid label:nth-child(5) {
  grid-column: 2;
  grid-row: 1;
}

.fiscal-filter-grid label:nth-child(1) {
  grid-column: 1 / -1;
  grid-row: 2;
}

.fiscal-filter-grid label:nth-child(2) {
  grid-column: 1;
  grid-row: 3;
}

.fiscal-filter-grid label:nth-child(3) {
  grid-column: 2;
  grid-row: 3;
}

.fiscal-filter-dialog .finance-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 6px;
}

.fiscal-top-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr)) auto;
  align-items: end;
  gap: 12px;
}

.fiscal-tax-tabs {
  display: grid;
  grid-template-columns: repeat(8, minmax(92px, 1fr));
  border-bottom: 1px solid #d9e2ec;
  gap: 0;
}

.fiscal-tax-tabs button {
  min-height: 44px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: #fff;
  color: #0b6797;
  font-weight: 700;
  cursor: pointer;
}

.fiscal-tax-tabs button.active {
  background: #eaf5fa;
  border-color: #1680bd;
}

.fiscal-piscofins-active .fiscal-view-actions,
.fiscal-piscofins-active .fiscal-simulator,
.fiscal-piscofins-active .fiscal-summary-grid,
.fiscal-piscofins-active .fiscal-map-card,
.fiscal-piscofins-active .fiscal-table-card {
  display: none;
}

.fiscal-pis-cofins-panel {
  display: grid;
  gap: 16px;
}

.fiscal-piscofins-filter-bar,
.fiscal-piscofins-action-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-height: 42px;
  color: #476179;
  font-size: 0.82rem;
}

.fiscal-piscofins-filter-bar label {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 8px;
  border: 1px solid #d6e1ec;
  border-radius: 6px;
  background: #fff;
}

.fiscal-piscofins-filter-bar label span {
  white-space: nowrap;
  color: #52677c;
}

.fiscal-piscofins-filter-bar input,
.fiscal-piscofins-filter-bar select {
  min-height: 30px;
  border: 0;
  background: transparent;
  color: #0f2033;
}

.fiscal-piscofins-action-bar .ghost-button {
  min-height: 34px;
  font-weight: 700;
}

.fiscal-piscofins-retention-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 16px;
}

.fiscal-piscofins-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 16px;
}

.fiscal-dual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 16px;
}

.fiscal-stacked-values {
  display: grid;
  gap: 10px;
}

.fiscal-dual-value {
  display: grid;
  place-items: center;
  gap: 3px;
  min-height: 72px;
  border-radius: 3px;
  color: #0f2033;
}

.fiscal-dual-value strong {
  font-size: 1.35rem;
}

.fiscal-dual-value span {
  font-size: 0.9rem;
  text-transform: uppercase;
}

.fiscal-dual-neutral {
  background: #eee;
}

.fiscal-dual-green {
  background: #dcf6eb;
  color: #064e3b;
}

.fiscal-dual-yellow {
  background: #faf4df;
  color: #4a3500;
}

.fiscal-apuracao-card {
  min-height: 160px;
}

.fiscal-piscofins-efd-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
}

.fiscal-piscofins-efd-summary span {
  min-height: 58px;
  display: grid;
  place-items: center;
  gap: 3px;
  padding: 10px;
  border: 1px solid #dbe4ee;
  border-radius: 4px;
  background: #f8fafc;
  color: #475569;
  text-align: center;
}

.fiscal-piscofins-efd-summary strong {
  color: #0b6797;
  font-size: 1.15rem;
}

.fiscal-piscofins-matrix-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.fiscal-piscofins-matrix {
  display: grid;
  gap: 10px;
}

.fiscal-piscofins-matrix-group {
  border: 1px solid #dbe4ee;
  border-radius: 5px;
  background: #ffffff;
  overflow: hidden;
}

.fiscal-piscofins-matrix-group summary {
  min-height: 46px;
  display: grid;
  grid-template-columns: 22px 74px 82px minmax(120px, 1fr) repeat(3, minmax(126px, auto));
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  background: #f8fafc;
  color: #475569;
  cursor: pointer;
  list-style: none;
}

.fiscal-piscofins-matrix-group summary::-webkit-details-marker {
  display: none;
}

.fiscal-piscofins-matrix-group summary::before {
  content: "+";
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #b8c9d8;
  border-radius: 4px;
  color: #0b6797;
  font-weight: 800;
}

.fiscal-piscofins-matrix-group[open] summary::before {
  content: "-";
}

.fiscal-piscofins-matrix-group summary strong {
  color: #0f172a;
}

.fiscal-piscofins-matrix-group summary b {
  color: #064e3b;
  text-align: right;
}

.fiscal-piscofins-matrix-group summary span:nth-of-type(n + 3),
.fiscal-piscofins-matrix-group summary b {
  justify-self: end;
  white-space: nowrap;
}

.fiscal-piscofins-matrix-group .table-wrap {
  max-height: 340px;
  overflow: auto;
  border-top: 1px solid #dbe4ee;
}

.fiscal-piscofins-fullscreen-body {
  min-height: 0;
  padding: 16px;
  overflow: auto;
}

.fiscal-piscofins-fullscreen-body .fiscal-piscofins-table-card {
  min-height: 0;
  padding: 0;
  border: 0;
}

.fiscal-piscofins-fullscreen-body .fiscal-piscofins-matrix-group .table-wrap {
  max-height: none;
}

.fiscal-piscofins-apuracao-report {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
}

.fiscal-piscofins-apuracao-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.fiscal-piscofins-apuracao-summary span {
  min-height: 54px;
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid #dbe4ee;
  border-radius: 4px;
  background: #f8fafc;
  color: #475569;
  text-align: center;
}

.fiscal-piscofins-apuracao-summary strong {
  color: #0b6797;
  font-size: 1.05rem;
}

.fiscal-piscofins-apuracao-diagnostic {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #f4c95d;
  border-radius: 4px;
  background: #fff7df;
  color: #7c4a03;
}

.fiscal-piscofins-apuracao-diagnostic strong {
  color: #0f172a;
}

.fiscal-piscofins-apuracao-report .table-wrap {
  max-height: none;
  min-height: 0;
  overflow: auto;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
}

.fiscal-piscofins-apuracao-table {
  width: 100%;
  min-width: 1580px;
  border-collapse: collapse;
  font-size: 0.76rem;
}

.fiscal-piscofins-apuracao-table th,
.fiscal-piscofins-apuracao-table td {
  border: 1px solid #dbe4ee;
  padding: 6px 7px;
  vertical-align: top;
}

.fiscal-piscofins-apuracao-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eef3f4;
  color: #0f172a;
  text-align: left;
  white-space: nowrap;
}

.fiscal-piscofins-apuracao-table tfoot td {
  position: relative;
  background: #e5e7eb;
  font-weight: 800;
}

.fiscal-piscofins-apu-group td {
  background: #f1f5f9;
  font-weight: 800;
}

.fiscal-piscofins-apu-total td {
  background: #e5e7eb;
  font-weight: 800;
}

.fiscal-piscofins-apuracao-table .num {
  text-align: right;
  white-space: nowrap;
}

.fiscal-piscofins-apuracao-table .center {
  text-align: center;
  white-space: nowrap;
}

.fiscal-piscofins-apuracao-table td:nth-child(2),
.fiscal-piscofins-apuracao-table td:nth-child(6),
.fiscal-piscofins-apuracao-table td:nth-child(7) {
  min-width: 220px;
}

.fiscal-piscofins-table-card .table-wrap {
  max-height: 360px;
  overflow: auto;
}

.fiscal-piscofins-table-card table {
  min-width: 1080px;
}

.fiscal-piscofins-table-card th,
.fiscal-piscofins-table-card td {
  white-space: nowrap;
}

.fiscal-apuracao-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 16px;
}

.fiscal-apuracao-grid div {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #f8fafc;
}

.fiscal-apuracao-grid span {
  color: var(--muted);
  text-transform: uppercase;
  font-size: 0.78rem;
}

.fiscal-apuracao-grid strong {
  color: #0b6797;
  font-size: 1.2rem;
}

.fiscal-view-actions {
  justify-content: flex-end;
}

.fiscal-simulator {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  border: 1px solid #d5dde5;
  background: #086493;
}

.fiscal-sim-inputs {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px 24px;
  align-items: center;
  padding: 18px;
  color: #fff;
}

.fiscal-sim-inputs h3 {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 1.15rem;
}

.fiscal-sim-inputs label {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 3px;
  padding: 0 10px 0 0;
}

.fiscal-sim-inputs input {
  border: 0;
  min-height: 40px;
  flex: 1;
}

.fiscal-sim-inputs .ghost-button {
  grid-row: 3;
  grid-column: 2;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.8);
}

.fiscal-scenario {
  padding: 18px;
  background: #fff;
  border-left: 1px solid #d5dde5;
}

.fiscal-scenario h3 {
  margin: 0 0 18px;
  color: #0b6797;
  font-size: 0.95rem;
  text-transform: uppercase;
}

.fiscal-scenario p {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 6px 0;
}

.fiscal-scenario .total {
  color: #0b6797;
  font-weight: 700;
}

.fiscal-summary-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(360px, 1.15fr);
  gap: 16px;
}

.fiscal-card {
  border: 1px solid #d5dde5;
  border-radius: 6px;
  background: #fff;
  padding: 16px;
}

.fiscal-card h3 {
  margin: 0 0 16px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #1f2937;
}

.fiscal-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.fiscal-card-header h3 {
  margin: 0;
}

.fiscal-card-header .ghost-button {
  min-height: 34px;
  white-space: nowrap;
}

.fiscal-value-pill,
.fiscal-tribute-grid div {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 14px 18px;
  background: #dcf6eb;
  color: #064e3b;
  border-radius: 3px;
}

.fiscal-value-pill {
  max-width: 580px;
  margin: 0 auto;
}

.fiscal-value-pill strong {
  font-size: 1.35rem;
}

.fiscal-tribute-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 14px;
}

.fiscal-map {
  display: grid;
  grid-template-columns: minmax(320px, 1.3fr) minmax(260px, 0.7fr);
  gap: 16px;
}

.fiscal-map-canvas {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  border-radius: 4px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.34) 1px, transparent 1px) 0 0 / 14.28% 100%,
    linear-gradient(180deg, rgba(255,255,255,.3) 1px, transparent 1px) 0 0 / 100% 33.33%,
    linear-gradient(135deg, #acd8e5 0 34%, #f5f1ea 34% 51%, #acd8e5 51% 100%);
}

.fiscal-map-canvas span {
  position: absolute;
  display: grid;
  place-items: center;
  min-width: 38px;
  min-height: 38px;
  border-radius: 50%;
  background: #0b6797;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.22);
}

.fiscal-map-list {
  display: grid;
  gap: 8px;
  align-content: start;
}

.fiscal-map-list div {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
}

.fiscal-map-list span {
  color: var(--muted);
  font-size: 0.82rem;
}

.fiscal-map-empty {
  min-height: 180px;
  display: grid;
  place-items: center;
  color: var(--muted);
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 4px;
}

.fiscal-icms-panel {
  display: grid;
  gap: 14px;
}

.fiscal-icms-diagnostic {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid #f4c95d;
  border-radius: 4px;
  background: #fff7df;
  color: #7c4a03;
}

.fiscal-icms-diagnostic strong {
  color: #0f172a;
}

.fiscal-icms-diagnostic small {
  color: #64748b;
}

.fiscal-icms-report-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 0 2px;
}

.fiscal-icms-report-actions .ghost-button {
  min-height: 34px;
  font-weight: 700;
}

.fiscal-icms-top,
.fiscal-icms-charts,
.fiscal-icms-bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.fiscal-icms-uf-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.fiscal-icms-matrix-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.fiscal-icms-dual {
  min-height: 72px;
  display: grid;
  place-items: center;
  gap: 3px;
  margin-top: 10px;
  border-radius: 4px;
}

.fiscal-icms-dual strong {
  color: #064e3b;
  font-size: 1.35rem;
}

.fiscal-icms-dual span {
  color: #0f172a;
}

.fiscal-icms-credit {
  background: #dff7ee;
}

.fiscal-icms-debit {
  background: #fbf5df;
}

.fiscal-icms-bars {
  min-height: 310px;
  display: grid;
  grid-template-columns: repeat(3, minmax(96px, 1fr));
  align-items: end;
  justify-items: center;
  gap: 34px;
  padding: 42px 7% 0;
  border-bottom: 1px solid #dbe4ee;
  background:
    linear-gradient(to top, #dbe4ee 1px, transparent 1px) 0 0 / 100% 25%,
    #ffffff;
}

.fiscal-icms-bars > div {
  position: relative;
  width: min(180px, 100%);
  min-height: 30px;
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.06);
}

.fiscal-icms-bars span {
  position: absolute;
  left: 50%;
  top: -25px;
  transform: translateX(-50%);
  white-space: nowrap;
  color: #0f172a;
  font-weight: 700;
}

.fiscal-icms-bars small {
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  color: #475569;
  font-size: 0.82rem;
  font-weight: 700;
}

.fiscal-icms-bars .credit { background: #86c9a8; }
.fiscal-icms-bars .debit { background: #f8e5a2; }
.fiscal-icms-bars .result { background: #0b6797; }

.fiscal-icms-legend,
.fiscal-icms-donut-legend {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 10px;
  color: #64748b;
}

.fiscal-icms-legend span,
.fiscal-icms-donut-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.fiscal-icms-legend span::before,
.fiscal-icms-donut-legend i {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 4px;
  display: inline-block;
}

.fiscal-icms-legend .credit::before { background: #86c9a8; }
.fiscal-icms-legend .debit::before { background: #f8e5a2; }
.fiscal-icms-legend .result::before { background: #0b6797; }

.fiscal-icms-donut-wrap {
  min-height: 250px;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 150px;
  align-items: center;
  gap: 18px;
}

.fiscal-icms-donut {
  width: min(280px, 100%);
  justify-self: center;
  transform: rotate(-90deg);
}

.fiscal-icms-uf-map {
  display: grid;
  grid-template-columns: minmax(250px, 0.72fr) minmax(250px, 1fr);
  gap: 16px;
  align-items: center;
}

.fiscal-icms-brazil-map {
  min-height: 300px;
  display: grid;
  place-items: center;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  background: #f8fbff;
}

.fiscal-icms-brazil-map svg {
  width: min(330px, 100%);
  max-height: 330px;
}

.fiscal-icms-map-base {
  fill: #edf2f7;
  stroke: #cbd5e1;
  stroke-width: 1.6;
}

.fiscal-icms-map-region {
  stroke: #ffffff;
  stroke-width: 1;
}

.fiscal-icms-map-region.north { fill: #dbeafe; }
.fiscal-icms-map-region.center { fill: #d1fae5; }
.fiscal-icms-map-region.northeast { fill: #e0f2fe; }
.fiscal-icms-map-region.southeast { fill: #ccfbf1; }
.fiscal-icms-map-region.south { fill: #ede9fe; }

.fiscal-icms-uf-point {
  cursor: pointer;
  opacity: var(--weight);
  filter: drop-shadow(0 3px 4px rgba(11, 103, 151, 0.25));
}

.fiscal-icms-uf-point circle {
  fill: #0b6797;
  stroke: #ffffff;
  stroke-width: 1.4;
}

.fiscal-icms-uf-point text {
  fill: #ffffff;
  font-size: 5px;
  font-weight: 900;
  text-anchor: middle;
  pointer-events: none;
}

.fiscal-icms-uf-point.active circle {
  fill: #10b981;
  stroke: #064e3b;
  stroke-width: 2;
}

.fiscal-icms-uf-legend {
  display: grid;
  gap: 8px;
  align-content: start;
  max-height: 318px;
  overflow: auto;
}

.fiscal-icms-uf-row {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 42px 72px minmax(76px, 1fr) minmax(112px, auto);
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid #dbe4ee;
  border-radius: 5px;
  background: #ffffff;
  color: #0f172a;
  text-align: left;
  cursor: pointer;
}

.fiscal-icms-uf-row:hover,
.fiscal-icms-uf-row.active {
  border-color: #0b6797;
  background: #f0f9ff;
}

.fiscal-icms-uf-row span {
  color: #64748b;
  font-size: 0.78rem;
}

.fiscal-icms-uf-row i {
  height: 6px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}

.fiscal-icms-uf-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #0b6797;
}

.fiscal-icms-uf-row em {
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.fiscal-icms-cst-slice,
.fiscal-icms-donut-legend [data-fiscal-icms-cst-drill] {
  cursor: pointer;
}

.fiscal-icms-cst-slice.active {
  filter: drop-shadow(0 0 4px rgba(11, 103, 151, 0.48));
  stroke-width: 18;
}

.fiscal-icms-donut-legend .active {
  color: #0b6797;
  font-weight: 800;
}

.fiscal-icms-fullscreen-dialog {
  width: calc(100vw - 24px);
  max-width: none;
  height: calc(100vh - 24px);
  max-height: none;
  padding: 0;
  border: 1px solid #d5dde5;
  border-radius: 6px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
  z-index: 10000;
}

.fiscal-icms-fullscreen-dialog::backdrop {
  background: rgba(15, 23, 42, 0.55);
}

.fiscal-icms-fullscreen-shell {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 0;
}

.fiscal-icms-resumo-shell {
  overflow: hidden;
}

.fiscal-icms-resumo-shell > .fiscal-icms-resumo-page {
  min-height: 0;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
}

.fiscal-icms-fullscreen-shell header {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid #dbe4ee;
}

.fiscal-icms-fullscreen-shell h2 {
  margin: 0;
  font-size: 1.15rem;
  color: #0f172a;
}

.fiscal-icms-fullscreen-apuracao {
  padding: 22px;
  overflow: auto;
}

.fiscal-icms-fullscreen-apuracao .fiscal-icms-bars {
  min-height: 520px;
}

.fiscal-icms-fullscreen-cst {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(190px, 0.42fr) minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  overflow: hidden;
}

.fiscal-icms-fullscreen-uf {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(230px, 0.46fr) minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  overflow: hidden;
}

.fiscal-icms-fullscreen-matrix {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(250px, 0.32fr) auto minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  overflow: hidden;
}

.fiscal-icms-fullscreen-matrix > .fiscal-icms-table-card {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.fiscal-icms-fullscreen-matrix > .fiscal-icms-table-card .table-wrap {
  max-height: none;
  min-height: 0;
}

.fiscal-icms-matrix-filter-strip {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  background: #f8fafc;
}

.fiscal-icms-matrix-filter-strip span {
  color: #64748b;
}

.fiscal-icms-matrix-filter-strip .ghost-button {
  margin-left: auto;
}

.fiscal-icms-fullscreen-map {
  min-height: 0;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  padding: 10px;
  overflow: hidden;
}

.fiscal-icms-fullscreen-map .fiscal-icms-uf-map {
  grid-template-columns: minmax(280px, 0.55fr) minmax(320px, 0.45fr);
}

.fiscal-icms-fullscreen-map .fiscal-icms-brazil-map {
  min-height: 214px;
}

.fiscal-icms-fullscreen-map .fiscal-icms-brazil-map svg {
  width: min(260px, 100%);
  max-height: 260px;
}

.fiscal-icms-fullscreen-map .fiscal-icms-uf-legend {
  max-height: 218px;
}

.fiscal-icms-fullscreen-chart {
  min-height: 0;
  display: grid;
  place-items: center;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  padding: 10px;
  overflow: hidden;
}

.fiscal-icms-fullscreen-chart .fiscal-icms-donut-wrap {
  width: min(760px, 100%);
  min-height: 220px;
  grid-template-columns: minmax(160px, 0.45fr) minmax(180px, 0.55fr);
}

.fiscal-icms-fullscreen-chart .fiscal-icms-donut {
  width: min(220px, 100%);
}

.fiscal-icms-fullscreen-table {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  overflow: hidden;
}

.fiscal-icms-fullscreen-table-header {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 8px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #dbe4ee;
}

.fiscal-icms-fullscreen-table-header strong {
  margin-right: auto;
}

.fiscal-icms-fullscreen-table .table-wrap {
  max-height: none;
  overflow: auto;
}

.fiscal-icms-registro-saida-shell {
  grid-template-rows: auto minmax(0, 1fr);
}

.fiscal-icms-registro-saida-view {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  overflow: hidden;
}

.fiscal-icms-registro-saida-toolbar {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  background: #f8fafc;
}

.fiscal-icms-registro-saida-toolbar div:first-child {
  display: grid;
  gap: 2px;
}

.fiscal-icms-registro-saida-toolbar span {
  color: #64748b;
  font-size: 0.78rem;
}

.fiscal-icms-registro-saida-filters {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr)) auto;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
  background: #ffffff;
}

.fiscal-icms-registro-saida-filters label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #475569;
  font-size: 0.74rem;
  font-weight: 700;
}

.fiscal-icms-registro-saida-filters input {
  min-height: 32px;
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  padding: 5px 7px;
}

.fiscal-icms-registro-saida-filter-actions {
  display: inline-flex;
  gap: 6px;
}

.fiscal-icms-registro-section-title {
  color: #0f172a;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.fiscal-icms-registro-apuracao-panel {
  display: grid;
  gap: 6px;
  min-height: 0;
}

.fiscal-icms-registro-apuracao-wrap {
  max-height: 220px;
  overflow: auto;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
}

.fiscal-icms-registro-apuracao-wrap .apuracao-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.fiscal-icms-registro-apuracao-wrap .apuracao-table th,
.fiscal-icms-registro-apuracao-wrap .apuracao-table td {
  border: 1px solid #dbe4ee;
  padding: 6px 7px;
  vertical-align: top;
}

.fiscal-icms-registro-apuracao-wrap .apuracao-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef3f4;
  color: #0f172a;
  text-align: left;
  white-space: nowrap;
}

.fiscal-icms-registro-apuracao-wrap .apuracao-table tfoot th {
  position: sticky;
  bottom: 0;
  z-index: 1;
  background: #e5e7eb;
  font-weight: 800;
}

.fiscal-icms-registro-apuracao-wrap .apuracao-table .num {
  text-align: right;
  white-space: nowrap;
}

.fiscal-icms-registro-saida-view > .table-wrap {
  min-height: 0;
  max-height: none;
  overflow: auto;
  border: 1px solid #dbe4ee;
  border-radius: 6px;
}

.fiscal-icms-registro-saida-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.fiscal-icms-registro-saida-table th,
.fiscal-icms-registro-saida-table td {
  border: 1px solid #dbe4ee;
  padding: 6px 7px;
  vertical-align: top;
}

.fiscal-icms-registro-saida-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef3f4;
  color: #0f172a;
  text-align: left;
  white-space: nowrap;
}

.fiscal-icms-registro-saida-table .num {
  text-align: right;
  white-space: nowrap;
}

.fiscal-icms-registro-saida-table .text {
  min-width: 260px;
}

.fiscal-icms-map-card .fiscal-map {
  grid-template-columns: 1fr;
}

.fiscal-icms-map-card .fiscal-map-canvas {
  min-height: 520px;
}

.fiscal-icms-table-card {
  min-width: 0;
}

.fiscal-icms-report-stack {
  display: grid;
  gap: 14px;
  align-content: start;
}

.fiscal-icms-table-header,
.fiscal-icms-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fiscal-icms-table-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.fiscal-icms-audit-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.fiscal-icms-audit-summary span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #f3c567;
  background: #fff7df;
  color: #6f4700;
  border-radius: 6px;
  padding: 6px 9px;
  font-size: 0.76rem;
}

.fiscal-icms-audit-summary strong {
  font-size: 0.9rem;
}

.fiscal-icms-auditoria-table .fiscal-audit-issues {
  color: #991b1b;
  font-weight: 700;
}

.fiscal-icms-print-button {
  border: 0;
  background: transparent;
  color: #0b6797;
  font-size: 0.72rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.fiscal-icms-row-limit {
  display: block;
  margin-top: 8px;
  color: #64748b;
  font-size: 0.76rem;
}

.fiscal-icms-tools {
  justify-content: flex-end;
  margin: 8px 0;
}

.fiscal-icms-tools label {
  min-width: 260px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid #94a3b8;
  border-radius: 4px;
  background: #ffffff;
}

.fiscal-icms-tools input {
  width: 100%;
  min-height: 32px;
  border: 0;
  outline: 0;
}

.fiscal-icms-table .icon-button.compact {
  width: 28px;
  height: 28px;
  border: 0;
  color: #0b6797;
  background: transparent;
}

.fiscal-icms-group-row {
  cursor: pointer;
}

.fiscal-icms-group-row:hover td {
  background: #f8fbff;
}

.fiscal-icms-detail-header th,
.fiscal-icms-detail-header td {
  background: #edf7fb;
  color: #0b6797;
  font-weight: 800;
}

.fiscal-icms-detail-row td {
  background: #ffffff;
}

.fiscal-icms-launch-header th,
.fiscal-icms-launch-header td {
  background: #f8fafc;
  color: #334155;
  font-weight: 800;
}

.fiscal-icms-launch-row td {
  background: #ffffff;
  color: #334155;
}

.fiscal-icms-launch-row td:nth-child(4) {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fiscal-table-card .table-wrap {
  max-height: 420px;
}

#dashboardFiscalView table th,
#dashboardFiscalView table td {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .fiscal-simulator,
  .fiscal-summary-grid,
  .fiscal-map,
  .fiscal-icms-top,
  .fiscal-icms-charts,
  .fiscal-icms-bottom,
  .fiscal-icms-matrix-grid,
  .fiscal-icms-donut-wrap,
  .fiscal-icms-uf-map,
  .fiscal-piscofins-retention-grid,
  .fiscal-piscofins-summary-grid,
  .fiscal-apuracao-grid {
    grid-template-columns: 1fr;
  }

  .fiscal-tax-tabs,
  .fiscal-tribute-grid,
  .fiscal-top-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fiscal-icms-map-card .fiscal-map-canvas {
    min-height: 285px;
  }
}

@media (max-width: 640px) {
  .fiscal-filter-grid {
    grid-template-columns: 1fr;
  }

  .fiscal-filter-grid label:nth-child(n) {
    grid-column: 1;
    grid-row: auto;
  }
}

.billing-header {
  min-height: 58px;
  border-bottom: 0;
}

.billing-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: 1.25rem;
  font-weight: 800;
}

.billing-header .muted-text {
  font-size: 0.76rem;
}

.billing-actions .primary-button,
.billing-panel-actions .ghost-button,
.billing-panel-actions .icon-button,
.billing-actions .icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.billing-actions .primary-button {
  background: #2563eb;
}

.billing-actions .primary-button:hover {
  background: #1d4ed8;
}

.billing-kpi-grid {
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 10px;
}

.billing-kpi-group {
  gap: 10px;
}

.billing-kpi {
  min-height: 72px;
  padding: 12px 14px;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.billing-kpi-icon {
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
}

.billing-kpi-icon::before {
  content: "";
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--billing-icon) center / contain no-repeat;
  mask: var(--billing-icon) center / contain no-repeat;
}

.billing-kpi-blue .billing-kpi-icon {
  background: rgba(59, 130, 246, 0.13);
  color: #3b82f6;
}

.billing-kpi-orange .billing-kpi-icon {
  background: rgba(245, 158, 11, 0.16);
  color: #f59e0b;
}

.billing-kpi-purple .billing-kpi-icon {
  background: rgba(139, 92, 246, 0.14);
  color: #8b5cf6;
}

.billing-icon-chart { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19h16v2H2V3h2v16Zm2-2V9h3v8H6Zm5 0V5h3v12h-3Zm5 0v-6h3v6h-3Z'/%3E%3C/svg%3E"); }
.billing-icon-calendar { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h2a2 2 0 0 1 2 2v16H3V6a2 2 0 0 1 2-2h2V2Zm12 8H5v10h14V10ZM5 8h14V6H5v2Z'/%3E%3C/svg%3E"); }
.billing-icon-percent { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m19 4.4 1.4 1.4L5.8 20.4 4.4 19 19 4.4ZM7.5 4a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm9 9a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm-9-7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Zm9 9a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z'/%3E%3C/svg%3E"); }
.billing-icon-wallet { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 6a3 3 0 0 1 3-3h15v4H6a1 1 0 0 0 0 2h18v12H5a3 3 0 0 1-3-3V6h1Zm19 7h-5a2 2 0 0 0 0 4h5v-4Zm-4 1.5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1Z'/%3E%3C/svg%3E"); }
.billing-icon-coin { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 3c5 0 9 1.8 9 4s-4 4-9 4-9-1.8-9-4 4-4 9-4Zm-9 7c1.8 1.8 5.2 3 9 3s7.2-1.2 9-3v3c0 2.2-4 4-9 4s-9-1.8-9-4v-3Zm0 6c1.8 1.8 5.2 3 9 3s7.2-1.2 9-3v1c0 2.2-4 4-9 4s-9-1.8-9-4v-1Z'/%3E%3C/svg%3E"); }
.billing-icon-users { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M9 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm0 10c4 0 7 2 7 4.5V21H2v-2.5C2 16 5 14 9 14Zm8-9a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 8c3.2 0 5 1.6 5 3.6V19h-4v-.5c0-1.7-.9-3.2-2.5-4.3.5-.1 1-.2 1.5-.2Z'/%3E%3C/svg%3E"); }
.billing-icon-check { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9 16.2-4.2-4.2-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E"); }
.billing-icon-filter { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 5h18l-7 8v6l-4 2v-8L3 5Z'/%3E%3C/svg%3E"); }
.billing-icon-lock { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M17 9h2v13H5V9h2V7a5 5 0 0 1 10 0v2Zm-2 0V7a3 3 0 0 0-6 0v2h6Zm-4 5v3h2v-3h-2Z'/%3E%3C/svg%3E"); }
.billing-icon-file { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 2h10l5 5v19H5V2Zm9 1.5V8h4.5L14 3.5ZM8 13h8v-2H8v2Zm0 4h8v-2H8v2Z'/%3E%3C/svg%3E"); }
.billing-icon-ticket { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M3 7h18v5a2 2 0 0 0 0 4v5H3v-5a2 2 0 0 0 0-4V7Zm6 3v2h6v-2H9Zm0 5v2h6v-2H9Z'/%3E%3C/svg%3E"); }
.billing-icon-records { --billing-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 4h16v4H4V4Zm0 6h16v4H4v-4Zm0 6h16v4H4v-4Z'/%3E%3C/svg%3E"); }

.billing-layout {
  gap: 10px;
}

.billing-card {
  min-height: 210px;
  padding: 12px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
}

.billing-card h3 {
  font-size: 0.86rem;
}

.billing-uf-map-card {
  display: grid;
  grid-template-columns: minmax(170px, 0.8fr) minmax(230px, 1fr);
  gap: 14px;
  align-items: center;
}

.billing-brazil-map {
  position: relative;
  min-height: 172px;
}

.billing-brazil-map svg {
  width: 100%;
  max-height: 190px;
}

.billing-map-base {
  fill: #eef2f6;
  stroke: #cbd5e1;
  stroke-width: 2;
}

.billing-map-region {
  stroke: #ffffff;
  stroke-width: 1.25;
}

.billing-map-region.north {
  fill: #e2e8f0;
}

.billing-map-region.center {
  fill: #dbeafe;
}

.billing-map-region.northeast {
  fill: #e0f2fe;
}

.billing-map-region.southeast {
  fill: #d1fae5;
}

.billing-map-region.south {
  fill: #ede9fe;
}

.billing-map-point circle {
  fill: #2563eb;
  opacity: var(--weight);
  stroke: #ffffff;
  stroke-width: 1.5;
}

.billing-map-point text {
  fill: #0f172a;
  font-size: 6px;
  font-weight: 700;
}

.billing-map-point {
  filter: drop-shadow(0 2px 3px rgba(37, 99, 235, 0.25));
}

.billing-map-summary {
  position: absolute;
  left: 8px;
  bottom: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.billing-map-summary span,
.billing-map-summary small {
  display: block;
  color: #64748b;
  font-size: 0.68rem;
}

.billing-map-summary strong {
  display: block;
  color: #0f172a;
  font-size: 0.95rem;
}

.billing-uf-ranking {
  display: grid;
  gap: 8px;
}

.billing-uf-rank-row {
  display: grid;
  grid-template-columns: 34px minmax(90px, 1fr) minmax(98px, auto) 28px;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
}

.billing-uf-rank-row span {
  color: #0f172a;
  font-weight: 700;
}

.billing-uf-rank-row i {
  height: 5px;
  border-radius: 999px;
  background: #e2e8f0;
}

.billing-uf-rank-row b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2563eb;
}

.billing-uf-rank-row strong {
  font-size: 0.72rem;
  text-align: right;
}

.billing-uf-rank-row small {
  color: #64748b;
  text-align: right;
}

.billing-contract-row span {
  font-weight: 400;
}

@media (max-width: 1280px) {
  .billing-kpi-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
}

@media (max-width: 900px) {
  .billing-kpi-grid,
  .billing-uf-map-card {
    grid-template-columns: 1fr;
  }
}

.topbar-system-name {
  color: #000000;
  font-weight: 400;
}
/* Agenda layout 2.01.26.0002 */
.icon-calendar { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2Zm11 8H6v10h12V10ZM6 8h12V6H6v2Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2Zm11 8H6v10h12V10ZM6 8h12V6H6v2Z'/%3E%3C/svg%3E"); }
.icon-list { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 6h2v2H5V6Zm4 0h10v2H9V6ZM5 11h2v2H5v-2Zm4 0h10v2H9v-2ZM5 16h2v2H5v-2Zm4 0h10v2H9v-2Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 6h2v2H5V6Zm4 0h10v2H9V6ZM5 11h2v2H5v-2Zm4 0h10v2H9v-2ZM5 16h2v2H5v-2Zm4 0h10v2H9v-2Z'/%3E%3C/svg%3E"); }
.icon-chevron-left { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m14.7 6.4-1.4-1.4L6.6 12l6.7 7 1.4-1.4L10.3 12l4.4-5.6Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m14.7 6.4-1.4-1.4L6.6 12l6.7 7 1.4-1.4L10.3 12l4.4-5.6Z'/%3E%3C/svg%3E"); }
.icon-chevron-right { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9.3 17.6 1.4 1.4 6.7-7-6.7-7-1.4 1.4 4.4 5.6-4.4 5.6Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m9.3 17.6 1.4 1.4 6.7-7-6.7-7-1.4 1.4 4.4 5.6-4.4 5.6Z'/%3E%3C/svg%3E"); }

.agenda-modern {
  padding: 20px;
  border-color: #dbe4ee;
  background: #ffffff;
  box-shadow: none;
}

.agenda-page-title h2 {
  margin: 0 0 16px;
  color: #0f172a;
  font-size: 1.45rem;
  font-weight: 700;
}

.agenda-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.agenda-kpi-card {
  min-height: 94px;
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: 1fr 1fr;
  align-items: center;
  gap: 0 14px;
  padding: 18px 20px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

.agenda-kpi-icon {
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #ecfeff;
  color: #0f9898;
}

.agenda-kpi-card > span:not(.agenda-kpi-icon) {
  color: #1e293b;
  font-size: 0.92rem;
  font-weight: 400;
}

.agenda-kpi-card strong {
  color: #0f172a;
  font-size: 1.65rem;
  line-height: 1;
}

.agenda-toolbar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.agenda-legend,
.agenda-view-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.agenda-legend span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 400;
}

.agenda-dot {
  width: 14px;
  height: 14px;
  display: inline-block;
  flex: 0 0 auto;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.agenda-dot-survey { background: #f59e0b; }
.agenda-dot-run { background: #1565c0; }
.agenda-dot-ok { background: #16a34a; }
.agenda-dot-late { background: #ef4444; }
.agenda-dot-total { background: #0f9898; }

.agenda-view-button,
.agenda-filter-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 18px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 400;
}

.agenda-view-button.active {
  border-color: #0f9898;
  background: linear-gradient(135deg, #0f9898, #10b981);
  color: #ffffff;
}

.agenda-filter-button {
  border-color: #0f9898;
  color: #0f9898;
  font-weight: 700;
}

.agenda-filter-panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 10px);
  right: 0;
  width: min(390px, calc(100vw - 36px));
  padding: 18px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}

.agenda-filter-panel::before {
  content: "";
  position: absolute;
  top: -8px;
  right: 34px;
  width: 14px;
  height: 14px;
  border-top: 1px solid #dbe4ee;
  border-left: 1px solid #dbe4ee;
  background: #ffffff;
  transform: rotate(45deg);
}

.agenda-filter-header,
.agenda-filter-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.agenda-filter-header {
  margin-bottom: 14px;
}

.agenda-filter-header h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
}

.agenda-filter-grid {
  display: grid;
  gap: 14px;
}

.agenda-filter-grid label {
  color: #64748b;
  font-weight: 600;
}

.agenda-filter-grid select {
  height: 42px;
  border-radius: 8px;
  font-weight: 400;
}

.agenda-filter-footer {
  margin-top: 18px;
}

.agenda-calendar-shell {
  overflow: visible;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
}

.agenda-calendar-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  border-bottom: 1px solid #dbe4ee;
}

.agenda-calendar-header #agendaTitle {
  color: #0f172a;
  font-size: 1.35rem;
  font-weight: 700;
}

.agenda-calendar-nav {
  position: absolute;
  left: 16px;
  display: flex;
  gap: 10px;
}

.agenda-calendar-nav .icon-button {
  width: 42px;
  height: 42px;
  border-color: #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
}

.agenda-modern .agenda-calendar {
  border: 0;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.agenda-modern .agenda-weekday {
  padding: 12px 10px;
  border-right: 1px solid #dbe4ee;
  border-bottom: 1px solid #dbe4ee;
  background: #f8fafc;
  color: #64748b;
  text-align: center;
  font-weight: 700;
}

.agenda-modern .agenda-day {
  position: relative;
  min-height: 96px;
  padding: 12px;
  border-right: 1px solid #dbe4ee;
  border-bottom: 1px solid #dbe4ee;
  background: #ffffff;
}

.agenda-modern .agenda-day > strong {
  color: #0f172a;
  font-size: 0.9rem;
  font-weight: 700;
}

.agenda-modern .muted-day {
  background: #fbfdff;
}

.agenda-modern .agenda-events {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  margin-top: 12px;
}

.agenda-pill-wrap {
  position: relative;
  display: inline-flex;
}

.agenda-count-pill {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  box-shadow: 0 6px 12px rgba(15, 23, 42, 0.12);
}

.agenda-pill-survey { background: #f59e0b; }
.agenda-pill-run { background: #1565c0; }
.agenda-pill-ok { background: #16a34a; }
.agenda-pill-late { background: #ef4444; }

.agenda-day-popover {
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: calc(100% + 12px);
  width: 270px;
  display: none;
  padding: 14px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
  transform: translateX(-50%);
}

.agenda-pill-wrap:hover .agenda-day-popover,
.agenda-pill-wrap:focus-within .agenda-day-popover {
  display: block;
}

.agenda-day-popover strong {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 0.96rem;
}

.agenda-day-popover ul {
  margin: 0 0 10px;
  padding-left: 18px;
}

.agenda-day-popover li,
.agenda-day-popover small {
  color: #1e293b;
  font-size: 0.82rem;
  font-weight: 400;
}

.agenda-day-popover li {
  margin-bottom: 5px;
}

.agenda-day-popover li span,
.agenda-day-popover li small {
  display: block;
}

.agenda-day-popover li small {
  color: #64748b;
}

.agenda-list-view {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 14px;
}

.agenda-list-item {
  display: grid;
  grid-template-columns: 110px 18px minmax(120px, 1fr) minmax(160px, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
}

.agenda-list-date,
.agenda-list-item span {
  color: #64748b;
  font-weight: 400;
}

.agenda-empty {
  grid-column: 1 / -1;
  padding: 28px;
  color: #64748b;
  text-align: center;
}

@media (max-width: 1180px) {
  .agenda-kpi-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }

  .agenda-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .agenda-view-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  .agenda-kpi-grid {
    grid-template-columns: 1fr;
  }

  .agenda-modern .agenda-calendar {
    overflow-x: auto;
    grid-template-columns: repeat(7, minmax(96px, 1fr));
  }

  .agenda-list-item {
    grid-template-columns: 1fr;
  }
}

/* Dashboard Executivo 2.01.26.0004 */
.executive-dashboard {
  --exec-ink: #0f172a;
  --exec-muted: #64748b;
  --exec-line: #dbe4ee;
  --exec-positive: #10b981;
  --exec-attention: #f59e0b;
  --exec-critical: #ef4444;
  padding: 18px 20px 26px;
  color: var(--exec-ink);
  background: #f8fafc;
}

.executive-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.executive-header h2 {
  margin: 0;
  color: var(--exec-ink);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: 0;
}

.executive-header p,
.executive-header-actions span {
  margin: 4px 0 0;
  color: var(--exec-muted);
  font-weight: 400;
}

.executive-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.executive-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.executive-kpi,
.executive-card {
  border: 1px solid var(--exec-line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.executive-kpi {
  min-height: 118px;
  display: grid;
  grid-template-columns: 56px 1fr;
  grid-template-rows: auto auto auto;
  gap: 2px 16px;
  align-items: center;
  padding: 18px;
}

.executive-kpi-icon {
  grid-row: 1 / 4;
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #ffffff;
  background: currentColor;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.executive-kpi-positive .executive-kpi-icon { color: var(--exec-positive); background: #d1fae5; }
.executive-kpi-critical .executive-kpi-icon { color: var(--exec-critical); background: #fee2e2; }
.executive-kpi-attention .executive-kpi-icon { color: #7c3aed; background: #ede9fe; }
.executive-kpi-info .executive-kpi-icon { color: #2563eb; background: #dbeafe; }

.executive-kpi span {
  color: var(--exec-muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.executive-kpi strong {
  color: var(--exec-ink);
  font-size: 1.45rem;
  line-height: 1.1;
}

.executive-kpi small {
  color: var(--exec-muted);
  font-weight: 400;
}

.executive-icon-money::before,
.executive-icon-expense::before,
.executive-icon-chart::before,
.executive-icon-wallet::before,
.executive-icon-target::before {
  content: "";
  width: 25px;
  height: 25px;
  display: block;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.executive-icon-money::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 15.8V19h-2v-1.2c-1.7-.3-3-1.3-3.7-2.8l1.8-1c.6 1.2 1.6 1.9 2.9 1.9 1.2 0 2-.5 2-1.4 0-.8-.6-1.1-2.5-1.7-2-.6-3.7-1.3-3.7-3.4 0-1.7 1.2-2.9 3.2-3.3V5h2v1.2c1.4.3 2.5 1.1 3.2 2.4l-1.8 1c-.5-.9-1.3-1.4-2.3-1.4-1.1 0-1.8.5-1.8 1.3s.7 1.1 2.4 1.6c2.2.7 3.8 1.4 3.8 3.5 0 1.8-1.3 3-3.5 3.4Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 15.8V19h-2v-1.2c-1.7-.3-3-1.3-3.7-2.8l1.8-1c.6 1.2 1.6 1.9 2.9 1.9 1.2 0 2-.5 2-1.4 0-.8-.6-1.1-2.5-1.7-2-.6-3.7-1.3-3.7-3.4 0-1.7 1.2-2.9 3.2-3.3V5h2v1.2c1.4.3 2.5 1.1 3.2 2.4l-1.8 1c-.5-.9-1.3-1.4-2.3-1.4-1.1 0-1.8.5-1.8 1.3s.7 1.1 2.4 1.6c2.2.7 3.8 1.4 3.8 3.5 0 1.8-1.3 3-3.5 3.4Z'/%3E%3C/svg%3E"); }
.executive-icon-expense::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m13 3-7 8h5l-1 10 8-11h-5l2-7h-2Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m13 3-7 8h5l-1 10 8-11h-5l2-7h-2Z'/%3E%3C/svg%3E"); }
.executive-icon-chart::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19h18v2H2V3h2v16Zm3-3 4-5 4 3 5-8 1.7 1-6.2 10-4.2-3.1L8.5 17 7 16Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19h18v2H2V3h2v16Zm3-3 4-5 4 3 5-8 1.7 1-6.2 10-4.2-3.1L8.5 17 7 16Z'/%3E%3C/svg%3E"); }
.executive-icon-wallet::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 5h16v4h2v12H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 2v2h14V7H4Zm0 4v8h18v-8H4Zm13 3h3v3h-3v-3Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 5h16v4h2v12H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 2v2h14V7H4Zm0 4v8h18v-8H4Zm13 3h3v3h-3v-3Z'/%3E%3C/svg%3E"); }
.executive-icon-target::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8V2Zm1 3v8H5v-2h6V5h2Zm2.3-.7 1.4 1.4-3.6 3.6-1.4-1.4 3.6-3.6ZM19 8h3v2h-3V8Z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8V2Zm1 3v8H5v-2h6V5h2Zm2.3-.7 1.4 1.4-3.6 3.6-1.4-1.4 3.6-3.6ZM19 8h3v2h-3V8Z'/%3E%3C/svg%3E"); }

.executive-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
}

.executive-main,
.executive-side {
  display: grid;
  gap: 18px;
  align-content: start;
}

.executive-chart-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 18px;
}

.executive-bottom-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 18px;
}

.executive-card {
  min-width: 0;
  padding: 16px;
}

.executive-card-full-row {
  grid-column: 1 / -1;
}

.executive-card.dashboard-panel-fullscreen {
  position: fixed;
  inset: 18px;
  z-index: 90;
  overflow: auto;
  padding: 20px;
}

.executive-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.executive-card-header h3 {
  margin: 0;
  color: var(--exec-ink);
  font-size: 1rem;
  font-weight: 700;
}

.executive-chart {
  min-height: 245px;
  overflow: visible;
}

.executive-chart-legend {
  display: flex;
  gap: 18px;
  margin-bottom: 8px;
  color: var(--exec-muted);
  font-size: 0.82rem;
}

.executive-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.executive-chart-legend span::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.executive-chart-legend .revenue::before { background: var(--exec-positive); }
.executive-chart-legend .expense::before { background: var(--exec-critical); }
.executive-chart-legend .result::before { background: #2563eb; }

.executive-line-svg {
  width: 100%;
  height: auto;
}

.executive-line-svg .grid {
  stroke: #e2e8f0;
  stroke-width: 1;
}

.executive-line-svg .line {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.executive-line-svg .line.revenue,
.executive-line-svg .dot.revenue {
  stroke: var(--exec-positive);
  fill: var(--exec-positive);
}

.executive-line-svg .line.expense,
.executive-line-svg .dot.expense {
  stroke: var(--exec-critical);
  fill: var(--exec-critical);
  stroke-dasharray: 8 6;
}

.executive-line-svg .tick,
.executive-line-svg .axis-label {
  fill: var(--exec-muted);
  font-size: 12px;
}

.executive-bar-chart {
  min-height: 210px;
  display: grid;
  grid-template-columns: repeat(6, minmax(34px, 1fr));
  align-items: end;
  gap: 16px;
}

.executive-bar-group {
  display: grid;
  gap: 8px;
  text-align: center;
}

.executive-bars {
  height: 180px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 6px;
}

.executive-bars span {
  width: 16px;
  min-height: 4px;
  border-radius: 5px 5px 0 0;
}

.executive-bars .revenue { background: var(--exec-positive); }
.executive-bars .expense { background: var(--exec-critical); }
.executive-bars .result { background: #2563eb; }
.executive-bars .result.negative { background: var(--exec-attention); }

.executive-bar-group small {
  color: var(--exec-muted);
}

.executive-vertical-chart {
  min-height: 214px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 18px;
  align-items: end;
  padding: 38px 4px 0;
}

.executive-vertical-group {
  min-width: 0;
  display: grid;
  gap: 7px;
  text-align: center;
}

.executive-vertical-bars {
  height: 136px;
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 8px;
  border-bottom: 1px solid #dbe4ee;
}

.executive-vertical-bars span {
  position: relative;
  width: 20px;
  min-height: 0;
  border-radius: 6px 6px 0 0;
}

.executive-vertical-bars span em {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  color: var(--exec-ink);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 800;
  transform: translateX(-50%);
  white-space: nowrap;
}

.executive-vertical-bars .expense em {
  transform: translateX(-66%);
}

.executive-vertical-bars .revenue em {
  transform: translateX(-34%);
}

.executive-vertical-bars .revenue {
  background: var(--exec-positive);
}

.executive-vertical-bars .expense {
  background: var(--exec-critical);
}

.executive-vertical-pair {
  display: flex;
  justify-content: center;
  gap: 11px;
  color: var(--exec-muted);
  font-size: 0.72rem;
}

.executive-vertical-group small {
  min-width: 0;
  overflow: hidden;
  color: var(--exec-ink);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-panel-fullscreen .executive-companies-chart {
  min-height: calc(100vh - 130px);
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  align-items: end;
  gap: 28px;
  padding-top: 34vh;
}

.dashboard-panel-fullscreen .executive-companies-chart .executive-vertical-bars {
  height: 220px;
}

.dashboard-panel-fullscreen .executive-companies-chart .executive-vertical-bars span {
  width: 28px;
  border-radius: 8px 8px 0 0;
}

.dashboard-panel-fullscreen .executive-companies-chart .executive-vertical-bars span em {
  bottom: calc(100% + 10px);
  font-size: 0.9rem;
}

.dashboard-panel-fullscreen .executive-companies-chart .executive-vertical-pair {
  font-size: 0.88rem;
}

.dashboard-panel-fullscreen .executive-companies-chart .executive-vertical-group small {
  font-size: 1.05rem;
}

.executive-donut-wrap {
  display: grid;
  grid-template-columns: 145px 1fr;
  align-items: center;
  gap: 14px;
  min-height: 245px;
}

.executive-donut {
  width: 145px;
  height: 145px;
  transform: rotate(-90deg);
}

.executive-donut-legend {
  display: grid;
  gap: 10px;
}

.executive-donut-legend span {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  color: var(--exec-muted);
  font-size: 0.9rem;
  text-align: left;
}

.executive-donut-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.executive-donut-legend b {
  min-width: 0;
  overflow: hidden;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.executive-donut-legend em {
  display: none;
  color: var(--exec-ink);
  font-style: normal;
  font-weight: 700;
}

.dashboard-panel-fullscreen .executive-donut-legend em {
  display: inline;
}

.executive-donut-legend strong {
  color: #526987;
}

.executive-os-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 12px;
}

.executive-supplier-bars {
  min-height: 245px;
  display: grid;
  gap: 11px;
  align-content: start;
  overflow: auto;
  padding-right: 4px;
}

.executive-supplier-row {
  display: grid;
  grid-template-columns: minmax(96px, 0.9fr) minmax(90px, auto) minmax(130px, 1.6fr);
  gap: 4px 12px;
  align-items: center;
}

.executive-supplier-row strong {
  min-width: 0;
  overflow: hidden;
  color: var(--exec-ink);
  font-size: 0.95rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.executive-supplier-total {
  color: #526987;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.executive-supplier-bar-stack {
  display: grid;
  gap: 3px;
  align-content: center;
}

.executive-supplier-bar-stack span {
  display: block;
  height: 10px;
  min-width: 3px;
  border-radius: 999px;
}

.executive-supplier-bar-stack .paid {
  background: var(--exec-positive);
}

.executive-supplier-bar-stack .open {
  background: var(--exec-critical);
}

.executive-supplier-bar-stack .forecast {
  background: #eab308;
}

.executive-supplier-row small {
  grid-column: 3;
  display: none;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--exec-muted);
  font-size: 0.82rem;
}

.executive-supplier-row small b {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--exec-ink);
}

.executive-supplier-row small b::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #94a3b8;
}

.executive-supplier-row small b.paid::before {
  background: var(--exec-positive);
}

.executive-supplier-row small b.open::before {
  background: var(--exec-critical);
}

.executive-supplier-row small b.forecast::before {
  background: #eab308;
}

.executive-supplier-row small b + * {
  color: var(--exec-muted);
}

.executive-chart-totals {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 18px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #dbe4ee;
  color: var(--exec-ink);
  font-size: 0.84rem;
  font-weight: 700;
}

.executive-chart-totals strong {
  margin-left: 4px;
}

.executive-chart-totals .positive-value {
  color: #0f9f6e;
}

.executive-chart-totals .negative-value {
  color: #ef4444;
}

.executive-chart-totals .warning-value {
  color: #b45309;
}

.executive-donut-wrap > .executive-chart-totals {
  display: none;
}

.executive-supplier-bars .executive-chart-totals {
  display: none;
}

.dashboard-panel-fullscreen .executive-supplier-row small,
.dashboard-panel-fullscreen .executive-chart-totals {
  display: flex;
}

.dashboard-panel-fullscreen .executive-supplier-row {
  grid-template-columns: minmax(280px, 0.9fr) minmax(140px, auto) minmax(420px, 1.8fr);
  gap: 6px 18px;
}

.dashboard-panel-fullscreen .executive-supplier-total {
  font-size: 0.9rem;
}

.executive-fullscreen-table {
  display: none;
  margin-top: 18px;
  min-height: 0;
}

.dashboard-panel-fullscreen .executive-fullscreen-table {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  max-height: none;
  overflow: auto;
}

.dashboard-panel-fullscreen .executive-fullscreen-table .table-wrap {
  max-height: min(560px, calc(100vh - 430px));
  overflow: auto;
}

.executive-fullscreen-table h4 {
  margin: 0;
  color: var(--exec-ink);
  font-size: 0.96rem;
}

.executive-fullscreen-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  min-width: 1420px;
}

.executive-fullscreen-table th,
.executive-fullscreen-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #dbe4ee;
  text-align: left;
}

.executive-fullscreen-table td:last-child,
.executive-fullscreen-table th:last-child {
  text-align: right;
}

.executive-fullscreen-table th {
  color: #526987;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.executive-table-limit-note {
  color: var(--exec-muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.executive-section-total td {
  background: #edf2f7;
  color: var(--exec-ink);
  font-weight: 900;
  letter-spacing: 0;
}

.executive-favorecido-total td {
  background: #f8fafc;
  color: var(--exec-ink);
  font-weight: 800;
}

.executive-favorecido-total.negative td:last-child,
.executive-row-negative td:last-child {
  color: #ef4444;
}

.executive-row-forecast td {
  background: #fffbeb;
}

.executive-row-forecast td:first-child {
  border-left: 4px solid #eab308;
}

.executive-os-card {
  min-height: 86px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 14px;
  border-radius: 8px;
  border: 1px solid transparent;
}

.executive-os-card strong {
  color: var(--exec-ink);
  font-size: 0.9rem;
}

.executive-os-card span {
  color: var(--exec-ink);
  font-size: 1.45rem;
  font-weight: 800;
}

.executive-os-card small {
  font-weight: 700;
}

.executive-os-ok {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

.executive-os-warn {
  background: #fffbeb;
  border-color: #fde68a;
}

.executive-os-critical {
  background: #fef2f2;
  border-color: #fecaca;
}

.executive-timeline {
  display: grid;
  gap: 10px;
}

.executive-timeline-item {
  display: grid;
  grid-template-columns: 70px 14px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0 10px;
  align-items: start;
  border: 0;
  background: transparent;
  color: var(--exec-ink);
  text-align: left;
}

.executive-timeline-item time {
  grid-row: 1 / 3;
  color: var(--exec-muted);
  font-weight: 700;
}

.executive-timeline-item > span {
  grid-row: 1 / 3;
  width: 10px;
  height: 10px;
  margin-top: 4px;
  border-radius: 999px;
  background: #2563eb;
  box-shadow: 0 0 0 4px #dbeafe;
}

.executive-timeline-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.executive-timeline-item small {
  color: var(--exec-muted);
}

.executive-finance-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 12px;
}

.dashboard-panel-fullscreen .executive-chart,
.dashboard-panel-fullscreen .executive-donut-wrap,
.dashboard-panel-fullscreen .executive-supplier-bars {
  min-height: calc(100vh - 150px);
}

.dashboard-panel-fullscreen .executive-donut-wrap {
  grid-template-columns: minmax(180px, 0.28fr) minmax(420px, 1fr) minmax(260px, auto);
  align-items: start;
  min-height: auto;
  gap: 18px 28px;
}

.dashboard-panel-fullscreen .executive-donut-wrap .executive-chart-totals {
  grid-column: 3;
  grid-row: 1;
  align-self: end;
  justify-content: flex-end;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.dashboard-panel-fullscreen .executive-donut-wrap .executive-fullscreen-table {
  grid-column: 1 / -1;
  margin-top: 10px;
}

.dashboard-panel-fullscreen .executive-donut {
  width: 180px;
  height: 180px;
}

.dashboard-panel-fullscreen .executive-donut-legend span {
  font-size: 1rem;
}

.dashboard-panel-fullscreen .executive-line-svg {
  max-height: calc(100vh - 190px);
}

.executive-finance-card {
  min-height: 118px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border-radius: 8px;
}

.executive-finance-card.danger { background: #fef2f2; }
.executive-finance-card.success { background: #ecfdf5; }

.executive-finance-card span,
.executive-finance-card small {
  color: var(--exec-muted);
}

.executive-finance-card strong {
  color: var(--exec-ink);
  font-size: 1.35rem;
}

.executive-filter-grid,
.executive-actions-card {
  display: grid;
  gap: 14px;
}

.executive-filter-grid label {
  color: var(--exec-muted);
  font-weight: 600;
}

.executive-filter-note,
.executive-filter-grid .field small {
  margin: 0;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 400;
}

.executive-filter-grid select {
  height: 42px;
  border-radius: 8px;
  font-weight: 400;
}

.executive-filter-grid select[multiple] {
  height: auto;
  min-height: 132px;
  padding: 8px;
}

.executive-filter-grid select[multiple].finance-native-multiselect {
  display: none;
}

.executive-filter-grid .primary-button {
  justify-content: center;
}

.executive-applied-filters {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #dbe4ee;
  color: #0f172a;
}

.executive-applied-filters > strong {
  font-size: 0.9rem;
}

.executive-applied-filters > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.executive-applied-filters span {
  display: inline-flex;
  gap: 4px;
  padding: 6px 8px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: 0.76rem;
}

.executive-applied-filters small {
  color: #64748b;
  font-weight: 400;
}

@media (max-width: 1320px) {
  .executive-kpi-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .executive-layout,
  .executive-chart-row,
  .executive-bottom-row {
    grid-template-columns: 1fr;
  }

  .executive-side {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 760px) {
  .executive-dashboard {
    padding: 14px;
  }

  .executive-header,
  .executive-header-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .executive-kpi-grid,
  .executive-side,
  .executive-os-grid,
  .executive-finance-cards,
  .executive-donut-wrap {
    grid-template-columns: 1fr;
  }
}
/* Versao 2.01.26.0010 - layout desktop fixo */
body:not(.login-active) {
  display: block;
  min-height: 100vh;
  overflow: hidden;
  background: #f5f8fb;
  color: #0f172a;
}

body:not(.login-active) .sidebar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 90;
  width: auto;
  height: 108px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #07182d 0%, #10243c 100%);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
}

body:not(.login-active) .brand {
  position: absolute;
  top: 0;
  left: 0;
  width: 204px;
  height: 66px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  margin: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 0;
}

body:not(.login-active) .brand-mark {
  width: 48px;
  min-width: 48px;
  height: 48px;
  border-radius: 8px;
  background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
  color: #07182d;
  box-shadow: 0 12px 24px rgba(16, 185, 129, 0.24);
}

body:not(.login-active) .brand strong {
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
}

body:not(.login-active) .brand small {
  color: #cbd5e1;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
}

body:not(.login-active) .module-nav {
  position: absolute;
  top: 66px;
  left: 0;
  right: 0;
  height: 42px;
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0 12px;
  overflow-x: auto;
  overflow-y: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 23, 42, 0.52);
  scrollbar-width: thin;
}

body:not(.login-active) .nav-group,
body:not(.login-active) .nav-items,
body:not(.login-active) .nav-subgroup {
  display: flex !important;
  align-items: stretch;
  flex: 0 0 auto;
  gap: 0;
  max-height: none !important;
  margin: 0;
  padding: 0;
  border: 0;
}

body:not(.login-active) .nav-heading,
body:not(.login-active) .nav-button,
body:not(.login-active) .nav-subheading {
  height: 42px;
  min-width: max-content;
  padding: 0 18px;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0;
  background: transparent;
  color: #e2e8f0;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

body:not(.login-active) .nav-heading:hover,
body:not(.login-active) .nav-button:hover,
body:not(.login-active) .nav-button.active {
  background: rgba(16, 185, 129, 0.14);
  color: #ffffff;
}

body:not(.login-active) .nav-button.active {
  box-shadow: inset 0 -3px 0 #10b981;
}

body:not(.login-active) .nav-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: rgba(16, 185, 129, 0.12);
  color: #10b981;
}

body:not(.login-active) .accordion-mark,
body:not(.login-active) .sidebar-actions,
body:not(.login-active) .data-status-bar {
  display: none !important;
}

body:not(.login-active) .app-shell {
  min-height: 100vh;
  margin-left: 0;
  padding: 262px 16px 48px;
  overflow: auto;
  background: #f5f8fb;
}

body:not(.login-active) .topbar {
  position: fixed;
  top: 0;
  left: 204px;
  right: 0;
  z-index: 95;
  height: 66px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #07182d 0%, #10243c 100%);
  box-shadow: none;
}

body:not(.login-active) .toggle-sidebar {
  width: 44px;
  height: 44px;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

body:not(.login-active) .topbar-left {
  min-width: 300px;
  color: #ffffff;
}

body:not(.login-active) .topbar-user-summary {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

body:not(.login-active) .topbar-system-name {
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
}

body:not(.login-active) #topbarGreeting {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 600;
}

body:not(.login-active) .topbar-title {
  display: none;
}

body:not(.login-active) .topbar-actions {
  margin-left: auto;
  gap: 10px;
}

body:not(.login-active) .topbar-company-summary,
body:not(.login-active) .topbar-period-summary {
  min-width: 162px;
  height: 48px;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

body:not(.login-active) .topbar-filter-label {
  color: #cbd5e1;
  font-weight: 500;
}

body:not(.login-active) .topbar-company-summary strong,
body:not(.login-active) .topbar-period-summary strong {
  color: #ffffff;
}

body:not(.login-active) .topbar-button,
body:not(.login-active) .topbar-icon-button,
body:not(.login-active) .topbar .ghost-button,
body:not(.login-active) .topbar .icon-button,
body:not(.login-active) .topbar .backend-status,
body:not(.login-active) .topbar .status-notification,
body:not(.login-active) .logout-button {
  height: 40px;
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

body:not(.login-active) .topbar .status-notification {
  width: 40px;
  min-width: 40px;
  padding: 0;
  justify-content: center;
}

body:not(.login-active) #statusNotificationText {
  display: none;
}

body:not(.login-active) .topbar .backend-status {
  min-width: 40px;
  width: 40px;
  padding: 0;
  justify-content: center;
}

body:not(.login-active) #backendStatusText {
  display: none;
}

body:not(.login-active) .topbar-profile {
  color: #ffffff;
}

body:not(.login-active) .topbar-profile strong {
  color: #ffffff;
  font-weight: 700;
}

body:not(.login-active) .topbar-profile small {
  color: #cbd5e1;
  font-weight: 500;
}

body:not(.login-active) .profile-avatar {
  background: #e2e8f0;
  color: #64748b;
}

body:not(.login-active) .desktop-ribbon {
  position: fixed;
  top: 108px;
  left: 0;
  right: 0;
  z-index: 80;
  height: 104px;
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 10px 16px 8px;
  overflow-x: auto;
  border-bottom: 1px solid #dbe4ee;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

body:not(.login-active) .ribbon-group {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-width: max-content;
  padding: 20px 16px 2px 14px;
  border-right: 1px solid #dbe4ee;
  position: relative;
}

body:not(.login-active) .ribbon-group > span:first-child {
  position: absolute;
  top: 0;
  left: 14px;
  color: #64748b;
  font-size: 11px;
  font-weight: 500;
}

body:not(.login-active) .ribbon-group button {
  width: 84px;
  min-height: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 6px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #334155;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.18;
  text-align: center;
  cursor: pointer;
}

body:not(.login-active) .ribbon-group button:hover {
  background: #f1f5f9;
  color: #0f172a;
}

body:not(.login-active) .ribbon-group .swn-icon {
  width: 24px;
  height: 24px;
  color: #0f766e;
}

body:not(.login-active) .workspace-tabs {
  position: fixed;
  top: 212px;
  left: 0;
  right: 0;
  z-index: 75;
  min-height: 46px;
  margin: 0;
  padding: 0 16px;
  border-bottom: 1px solid #dbe4ee;
  background: #f8fafc;
}

body:not(.login-active) .workspace-tab {
  min-height: 46px;
  border-radius: 0;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background: #f8fafc;
}

body:not(.login-active) .workspace-tab.active {
  background: #ffffff;
  box-shadow: inset 0 -2px 0 #10b981;
}

body:not(.login-active) .sidebar-status {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 95;
  height: 36px;
  display: flex !important;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  background: #07182d;
  color: #e2e8f0;
  box-shadow: 0 -8px 18px rgba(15, 23, 42, 0.14);
}

body:not(.login-active) .sidebar-online,
body:not(.login-active) .sidebar-clock,
body:not(.login-active) .sidebar-version {
  width: auto;
  margin: 0;
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 500;
}

body:not(.login-active) .sidebar-clock::before {
  margin-right: 8px;
}

body:not(.login-active).sidebar-collapsed,
body:not(.login-active).sidebar-expanded {
  grid-template-columns: 1fr;
}

body:not(.login-active).sidebar-collapsed .sidebar {
  width: auto;
}

body:not(.login-active).sidebar-collapsed .brand div,
body:not(.login-active).sidebar-collapsed .nav-button span:not(.nav-icon),
body:not(.login-active).sidebar-collapsed .nav-heading span:not(.nav-icon),
body:not(.login-active).sidebar-collapsed .nav-subheading span:not(.nav-icon),
body:not(.login-active).sidebar-collapsed .sidebar-status {
  display: flex !important;
}

body:not(.login-active).sidebar-collapsed .brand div {
  display: block !important;
}

@media (max-width: 1100px) {
  body:not(.login-active) .topbar {
    left: 160px;
  }

  body:not(.login-active) .brand {
    width: 160px;
  }

  body:not(.login-active) .topbar-left {
    min-width: 220px;
  }

  body:not(.login-active) .topbar-company-summary,
  body:not(.login-active) .topbar-period-summary {
    min-width: 130px;
  }
}

/* Correcoes de navegacao desktop 2.01.26.0010 */
body:not(.login-active) {
  overflow: auto;
}

body:not(.login-active) .sidebar {
  height: 108px !important;
  min-height: 108px !important;
  max-height: 108px !important;
}

body:not(.login-active) .module-nav {
  align-items: center;
  padding-left: 16px;
}

body:not(.login-active) .nav-group {
  height: 42px;
}

body:not(.login-active) .nav-items,
body:not(.login-active) .nav-subgroup,
body:not(.login-active) .nav-button,
body:not(.login-active) .nav-subheading {
  display: none !important;
}

body:not(.login-active) .nav-heading {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 42px;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

body:not(.login-active) .nav-heading.active {
  background: rgba(16, 185, 129, 0.16);
  color: #ffffff;
  box-shadow: inset 0 -3px 0 #10b981;
}

body:not(.login-active) .nav-heading .accordion-mark {
  display: inline-flex !important;
  color: #cbd5e1;
  font-size: 12px;
}

body:not(.login-active) .app-shell {
  display: block;
  min-height: 100vh;
  padding-top: 262px;
  background: #f5f8fb !important;
}

body:not(.login-active) .view,
body:not(.login-active) .view.active {
  background: transparent;
}

body:not(.login-active) .desktop-ribbon {
  min-height: 104px;
  max-height: 104px;
}

body:not(.login-active) .ribbon-group button.active {
  background: #ecfdf5;
  color: #0f766e;
  box-shadow: inset 0 -2px 0 #10b981;
}

body:not(.login-active) .ribbon-group button.placeholder {
  opacity: 0.45;
  cursor: not-allowed;
}

body:not(.login-active) .ribbon-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background: transparent;
  color: #0f766e;
}

/* Ajustes de alinhamento e escala - 2.01.26.0010 */
body:not(.login-active) .sidebar {
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;
}

body:not(.login-active) .brand,
body:not(.login-active) .topbar {
  height: 68px;
}

body:not(.login-active) .module-nav {
  top: 68px;
  height: 44px;
  align-items: stretch;
}

body:not(.login-active) .nav-group,
body:not(.login-active) .nav-heading {
  height: 44px;
}

body:not(.login-active) .nav-heading {
  padding: 0 22px;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
}

body:not(.login-active) .nav-heading span:not(.nav-icon):not(.accordion-mark) {
  line-height: 1;
}

body:not(.login-active) .desktop-ribbon {
  top: 112px;
  height: 118px;
  min-height: 118px;
  max-height: 118px;
  padding: 12px 24px 10px;
}

body:not(.login-active) .ribbon-group {
  padding: 24px 22px 4px 18px;
  gap: 14px;
}

body:not(.login-active) .ribbon-group > span:first-child {
  left: 18px;
  font-size: 12px;
}

body:not(.login-active) .ribbon-group button {
  width: 108px;
  min-height: 82px;
  gap: 8px;
  font-size: 12.5px;
  line-height: 1.2;
}

body:not(.login-active) .ribbon-group .swn-icon,
body:not(.login-active) .ribbon-icon {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
}

body:not(.login-active) .workspace-tabs {
  top: 230px;
  min-height: 48px;
  padding-left: 24px;
}

body:not(.login-active) .workspace-tab {
  min-height: 48px;
  font-size: 14px;
}

body:not(.login-active) .app-shell {
  padding-top: 286px;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView.active {
  min-height: calc(100vh - 334px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px 48px;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView .welcome-hero {
  width: min(920px, 100%);
  margin: 0 auto;
  padding: 84px 32px;
  text-align: center;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView .welcome-hero h2 {
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView .welcome-hero p,
body:not(.login-active)[data-module-active="dashboard"] #dashboardView .welcome-hero span,
body:not(.login-active)[data-module-active="dashboard"] #kpiGrid,
body:not(.login-active)[data-module-active="dashboard"] #dashboardView .shortcut-panel,
body:not(.login-active)[data-module-active="dashboard"] #dashboardView .dashboard-grid {
  display: none !important;
}

/* Ajuste definitivo do topo desktop - 2.01.26.0010 */
body:not(.login-active) .sidebar {
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
}

body:not(.login-active) .brand,
body:not(.login-active) .topbar {
  height: 72px !important;
}

body:not(.login-active) .module-nav {
  top: 72px !important;
  height: 48px !important;
  padding-left: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

body:not(.login-active) .nav-group,
body:not(.login-active) .nav-heading {
  height: 48px !important;
}

body:not(.login-active) .nav-heading {
  min-width: 154px;
  padding: 0 24px;
  font-size: 15px;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 28px !important;
  height: 28px !important;
  flex-basis: 28px !important;
}

body:not(.login-active) .nav-heading .accordion-mark {
  margin-left: auto;
  font-size: 13px;
}

body:not(.login-active) .desktop-ribbon {
  top: 120px !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
  opacity: 0;
  pointer-events: none;
  border-bottom-width: 0;
  transition: height 160ms ease, opacity 140ms ease, padding 160ms ease;
}

body:not(.login-active)[data-ribbon-open="true"] .desktop-ribbon {
  height: 128px !important;
  min-height: 128px !important;
  max-height: 128px !important;
  padding-top: 14px !important;
  padding-bottom: 12px !important;
  opacity: 1;
  pointer-events: auto;
  border-bottom-width: 1px;
}

body:not(.login-active) .ribbon-group button {
  width: 120px;
  min-height: 88px;
  font-size: 13.5px;
}

body:not(.login-active) .ribbon-group .swn-icon,
body:not(.login-active) .ribbon-icon {
  width: 40px !important;
  height: 40px !important;
  flex-basis: 40px !important;
}

body:not(.login-active) .workspace-tabs {
  top: 120px !important;
}

body:not(.login-active)[data-ribbon-open="true"] .workspace-tabs {
  top: 248px !important;
}

body:not(.login-active) .app-shell {
  padding-top: 178px !important;
}

body:not(.login-active)[data-ribbon-open="true"] .app-shell {
  padding-top: 306px !important;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView.active {
  min-height: calc(100vh - 226px);
}

body:not(.login-active)[data-module-active="dashboard"][data-ribbon-open="true"] #dashboardView.active {
  min-height: calc(100vh - 354px);
}

/* Layout ideal solicitado - 2.01.26.0010 */
body:not(.login-active) .sidebar {
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  background: #07182d;
  box-shadow: 0 3px 0 #000000;
}

body:not(.login-active) .brand {
  width: 198px;
  height: 68px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
}

body:not(.login-active) .brand-mark {
  width: 48px;
  min-width: 48px;
  height: 48px;
}

body:not(.login-active) .topbar {
  left: 198px;
  height: 68px !important;
  padding: 0 12px 0 16px;
  background: #07182d;
}

body:not(.login-active) .topbar-left {
  display: none;
}

body:not(.login-active) .topbar-actions {
  width: 100%;
  display: grid;
  grid-template-columns: 272px minmax(520px, 940px) 1fr auto;
  align-items: center;
  gap: 12px;
  margin: 0;
}

body:not(.login-active) .topbar-profile {
  grid-column: 1;
  order: 1;
  justify-self: start;
  min-width: 260px;
  padding-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

body:not(.login-active) .profile-avatar {
  width: 42px;
  height: 42px;
  min-width: 42px;
}

body:not(.login-active) .topbar-profile strong {
  font-size: 18px;
  line-height: 1.05;
}

body:not(.login-active) .topbar-profile small {
  font-size: 13px;
}

body:not(.login-active) .module-nav {
  top: 8px !important;
  left: 490px;
  right: 260px;
  height: 54px !important;
  z-index: 98;
  justify-content: center;
  padding: 0;
  border: 0;
  background: rgba(15, 23, 42, 0.42);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.72);
}

body:not(.login-active) .nav-group,
body:not(.login-active) .nav-heading {
  height: 54px !important;
}

body:not(.login-active) .nav-heading {
  min-width: 156px;
  padding: 0 22px;
  font-size: 15px;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 30px !important;
  height: 30px !important;
  flex-basis: 30px !important;
}

body:not(.login-active) .nav-heading.active {
  background: rgba(16, 185, 129, 0.20);
  box-shadow: inset 0 -3px 0 #10b981;
}

body:not(.login-active) .topbar-company-summary,
body:not(.login-active) .topbar-period-summary,
body:not(.login-active) .topbar .backend-status,
body:not(.login-active) .topbar .status-notification,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #seedBtn,
body:not(.login-active) #clearBtn {
  display: none !important;
}

body:not(.login-active) #logoutBtn {
  grid-column: 4;
  order: 4;
  justify-self: end;
  display: inline-flex !important;
  min-width: 64px;
  height: 42px;
  justify-content: center;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 14px;
}

body:not(.login-active) .desktop-ribbon {
  top: 68px !important;
  height: 124px !important;
  min-height: 124px !important;
  max-height: 124px !important;
  padding: 10px 30px 12px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  border-bottom: 4px solid #000000;
  box-shadow: none;
}

body:not(.login-active) .ribbon-group {
  min-width: 300px;
  padding-left: 18px;
  padding-right: 26px;
}

body:not(.login-active) .ribbon-group button {
  width: 112px;
  min-height: 84px;
}

body:not(.login-active) .workspace-tabs {
  top: 192px !important;
  min-height: 48px;
}

body:not(.login-active) .app-shell,
body:not(.login-active)[data-ribbon-open="true"] .app-shell {
  padding-top: 240px !important;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView.active,
body:not(.login-active)[data-module-active="dashboard"][data-ribbon-open="true"] #dashboardView.active {
  min-height: calc(100vh - 288px);
}

body:not(.login-active) .sidebar-status {
  height: 36px;
  background: #07182d;
  border-top: 4px solid #000000;
}

body:not(.login-active) .sidebar-status::after {
  content: "Empresa : XGSI SISTEMAS (Aqui o nome da empresa)";
  margin-left: 28px;
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 1380px) {
  body:not(.login-active) .module-nav {
    left: 430px;
    right: 120px;
  }

  body:not(.login-active) .topbar-actions {
    grid-template-columns: 220px minmax(420px, 1fr) auto;
  }

  body:not(.login-active) .topbar-profile {
    min-width: 210px;
  }
}

/* Refinamento do layout ideal - 2.01.26.0010 */
body:not(.login-active) .sidebar {
  z-index: 120 !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.login-active) .brand {
  z-index: 123;
  width: 198px !important;
  height: 68px !important;
  background: #07182d;
  box-shadow: 0 3px 0 #000000;
}

body:not(.login-active) .topbar {
  z-index: 110 !important;
  top: 0;
  left: 198px !important;
  right: 0;
  height: 68px !important;
  min-height: 68px !important;
  padding: 0 12px 0 16px !important;
  background: #07182d !important;
  box-shadow: 0 3px 0 #000000;
}

body:not(.login-active) .topbar-actions {
  width: 100%;
  display: grid !important;
  grid-template-columns: 270px 1fr 70px;
  align-items: center;
  gap: 12px;
}

body:not(.login-active) .topbar-profile {
  grid-column: 1;
  min-width: 250px;
  height: 68px;
  padding-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

body:not(.login-active) .module-nav {
  position: fixed !important;
  z-index: 130 !important;
  top: 8px !important;
  left: 490px !important;
  right: 470px !important;
  height: 54px !important;
  display: flex !important;
  justify-content: center;
  align-items: stretch;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  background: rgba(16, 31, 53, 0.96) !important;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.82);
}

body:not(.login-active) .nav-group,
body:not(.login-active) .nav-heading {
  height: 54px !important;
}

body:not(.login-active) .nav-heading {
  min-width: 156px;
  justify-content: flex-start;
  padding: 0 20px !important;
  font-size: 15px !important;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
}

body:not(.login-active) .nav-heading .accordion-mark {
  margin-left: auto;
}

body:not(.login-active) .nav-heading.active {
  background: rgba(16, 185, 129, 0.20) !important;
  box-shadow: inset 0 -3px 0 #10b981 !important;
}

body:not(.login-active) #logoutBtn {
  grid-column: 3;
  min-width: 60px;
  height: 42px;
  justify-self: end;
}

body:not(.login-active) .desktop-ribbon {
  top: 68px !important;
  z-index: 80 !important;
  height: 130px !important;
  min-height: 130px !important;
  max-height: 130px !important;
  padding: 10px 30px 12px !important;
  border-bottom: 1px solid #111827 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:not(.login-active) .workspace-tabs {
  top: 198px !important;
  z-index: 75 !important;
}

body:not(.login-active) .app-shell,
body:not(.login-active)[data-ribbon-open="true"] .app-shell {
  padding-top: 246px !important;
}

body:not(.login-active)[data-module-active="dashboard"] #dashboardView.active,
body:not(.login-active)[data-module-active="dashboard"][data-ribbon-open="true"] #dashboardView.active {
  min-height: calc(100vh - 294px);
}

@media (max-width: 1500px) {
  body:not(.login-active) .module-nav {
    left: 430px !important;
    right: 130px !important;
  }

  body:not(.login-active) .nav-heading {
    min-width: 132px;
    padding: 0 14px !important;
  }
}

/* Downgrade 2.01.26.0002 - restaura layout lateral */
body:not(.login-active) {
  display: grid !important;
  grid-template-columns: 204px 1fr !important;
  min-height: 100vh;
  overflow: auto !important;
  background: var(--bg) !important;
}

body:not(.login-active).sidebar-collapsed {
  grid-template-columns: 82px 1fr !important;
}

body:not(.login-active) .sidebar {
  position: sticky !important;
  inset: auto !important;
  top: 0 !important;
  z-index: 20 !important;
  width: 204px !important;
  height: auto !important;
  min-height: 100vh !important;
  max-height: none !important;
  padding: 16px 12px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, var(--sidebar), var(--sidebar-2)) !important;
  box-shadow: 10px 0 28px rgba(16, 24, 40, 0.10) !important;
}

body:not(.login-active).sidebar-collapsed .sidebar {
  width: 82px !important;
}

body:not(.login-active) .brand {
  position: static !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 4px 18px !important;
  margin: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.login-active) .brand-mark {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
}

body:not(.login-active) .module-nav {
  position: static !important;
  z-index: auto !important;
  display: grid !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 10px !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.login-active) .nav-group {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body:not(.login-active) .nav-heading {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 8px 6px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
  text-align: left !important;
}

body:not(.login-active) .nav-items {
  align-items: stretch !important;
  gap: 3px !important;
  flex: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.login-active) .nav-group.expanded .nav-items {
  display: grid !important;
}

body:not(.login-active) .nav-group.collapsed .nav-items {
  display: none !important;
}

body:not(.login-active) .nav-button,
body:not(.login-active) .nav-subheading {
  display: flex !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 8px 8px 8px 38px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #d7e4ea !important;
  box-shadow: none !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  text-align: left !important;
}

body:not(.login-active) .nav-button:hover,
body:not(.login-active) .nav-button.active {
  background: #1e293b !important;
  color: #ffffff !important;
}

body:not(.login-active) .nav-icon {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
}

body:not(.login-active) .accordion-mark {
  display: inline-flex !important;
  margin-left: auto !important;
}

body:not(.login-active) .desktop-ribbon {
  display: none !important;
}

body:not(.login-active) .app-shell {
  display: grid !important;
  grid-template-rows: auto auto auto 1fr !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: var(--bg) !important;
}

body:not(.login-active) .topbar {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.08) !important;
}

body:not(.login-active) .topbar-left,
body:not(.login-active) .topbar-title,
body:not(.login-active) .topbar-actions {
  display: flex !important;
}

body:not(.login-active) .topbar-actions {
  width: auto !important;
  margin-left: auto !important;
  align-items: center !important;
  gap: 10px !important;
}

body:not(.login-active) .topbar-company-summary,
body:not(.login-active) .topbar-period-summary,
body:not(.login-active) .topbar .backend-status,
body:not(.login-active) .topbar .status-notification,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #logoutBtn,
body:not(.login-active) #seedBtn,
body:not(.login-active) #clearBtn {
  display: inline-flex !important;
}

body:not(.login-active) .topbar-profile {
  display: flex !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border-left: 1px solid var(--line) !important;
  color: var(--ink) !important;
}

body:not(.login-active) .topbar-profile strong {
  color: var(--ink) !important;
  font-size: 0.95rem !important;
}

body:not(.login-active) .topbar-profile small {
  color: var(--muted) !important;
  font-size: 0.76rem !important;
}

body:not(.login-active) .workspace-tabs {
  position: static !important;
  z-index: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border-bottom: 1px solid var(--line) !important;
  background: #f8fafc !important;
}

body:not(.login-active) .sidebar-status {
  position: static !important;
  height: auto !important;
  display: grid !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: transparent !important;
  color: #d7e4ea !important;
  box-shadow: none !important;
}

body:not(.login-active) .sidebar-status::after {
  content: none !important;
}

body:not(.login-active) #dashboardView.active {
  display: block !important;
  min-height: auto !important;
  padding: 0 !important;
}

/* Restauracao validada 2.01.26.0002 */
html,
body {
  min-height: 100%;
}

body:not(.login-active) {
  width: 100% !important;
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 204px minmax(0, 1fr) !important;
  grid-template-rows: 1fr !important;
  overflow: auto !important;
}

body:not(.login-active).sidebar-collapsed {
  grid-template-columns: 82px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 204px !important;
  min-width: 204px !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  padding: 16px 12px !important;
}

body:not(.login-active).sidebar-collapsed .sidebar {
  width: 82px !important;
  min-width: 82px !important;
}

body:not(.login-active) .app-shell {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-rows: auto auto auto 1fr !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 100vh !important;
}

body:not(.login-active) .brand,
body:not(.login-active) .module-nav,
body:not(.login-active) .sidebar-actions,
body:not(.login-active) .sidebar-status {
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

body:not(.login-active) .module-nav {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

body:not(.login-active) .nav-group,
body:not(.login-active) .nav-subgroup {
  display: block !important;
  flex: none !important;
}

body:not(.login-active) .nav-heading,
body:not(.login-active) .nav-subheading,
body:not(.login-active) .nav-button {
  position: relative !important;
  white-space: normal !important;
  text-transform: none !important;
}

body:not(.login-active) .nav-subgroup {
  margin-top: 4px !important;
}

body:not(.login-active) .topbar,
body:not(.login-active) .data-status-bar,
body:not(.login-active) .workspace-tabs {
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

body:not(.login-active) .data-status-bar {
  display: flex !important;
}

body:not(.login-active) .workspace-tab {
  min-height: 46px !important;
}

body:not(.login-active) .view.active {
  display: block !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  display: block !important;
  width: auto !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  text-align: center !important;
}

body:not(.login-active) #dashboardView .welcome-hero span,
body:not(.login-active) #dashboardView .welcome-hero p,
body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: initial !important;
}

body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: grid !important;
}

body:not(.login-active) #dashboardView .shortcut-panel {
  display: block !important;
}

/* Layout lateral/cabecalho conforme referencia - base 2.01.26.0002 */
body:not(.login-active) {
  grid-template-columns: 232px minmax(0, 1fr) !important;
  background: #f4f8fb !important;
}

body:not(.login-active).sidebar-collapsed {
  grid-template-columns: 88px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  width: 232px !important;
  min-width: 232px !important;
  padding: 18px 10px !important;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0)),
    #0b2238 !important;
  box-shadow: 8px 0 26px rgba(15, 23, 42, 0.16) !important;
}

body:not(.login-active).sidebar-collapsed .sidebar {
  width: 88px !important;
  min-width: 88px !important;
}

body:not(.login-active) .brand {
  min-height: 62px !important;
  padding: 0 8px 18px !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.12) !important;
}

body:not(.login-active) .brand-mark {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #10b981 0%, #0891b2 100%) !important;
  color: #061827 !important;
  font-size: 0.9rem !important;
}

body:not(.login-active) .brand strong {
  color: #ffffff !important;
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) .brand small {
  color: #cbd5e1 !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) .module-nav {
  gap: 8px !important;
  padding-top: 10px !important;
}

body:not(.login-active) .nav-heading {
  min-height: 46px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  color: #e5edf5 !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .nav-heading:hover,
body:not(.login-active) .nav-group.expanded > .nav-heading {
  background: rgba(16, 185, 129, 0.16) !important;
  color: #ffffff !important;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 28px !important;
  height: 28px !important;
  flex-basis: 28px !important;
  background: rgba(16, 185, 129, 0.14) !important;
  color: #5eead4 !important;
}

body:not(.login-active) .accordion-mark {
  color: #dbeafe !important;
  font-size: 0.92rem !important;
}

body:not(.login-active) .nav-items {
  margin: 2px 0 8px 20px !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(94, 234, 212, 0.28) !important;
}

body:not(.login-active) .nav-button,
body:not(.login-active) .nav-subheading {
  min-height: 36px !important;
  padding: 8px 10px !important;
  border-radius: 7px !important;
  color: #dbeafe !important;
  font-size: 0.83rem !important;
  font-weight: 500 !important;
}

body:not(.login-active) .nav-button .nav-icon {
  width: 24px !important;
  height: 24px !important;
  flex-basis: 24px !important;
  background: transparent !important;
  color: #e2e8f0 !important;
}

body:not(.login-active) .nav-button:hover,
body:not(.login-active) .nav-button.active {
  background: linear-gradient(90deg, #0f766e, #14b8a6) !important;
  color: #ffffff !important;
}

body:not(.login-active) .nav-button:hover .nav-icon,
body:not(.login-active) .nav-button.active .nav-icon {
  color: #ffffff !important;
}

body:not(.login-active) .sidebar-actions {
  display: none !important;
}

body:not(.login-active) .sidebar-status {
  margin-top: auto !important;
  padding: 16px 8px 2px !important;
  color: #dbeafe !important;
}

body:not(.login-active) .sidebar-online,
body:not(.login-active) .sidebar-clock,
body:not(.login-active) .sidebar-version {
  color: #dbeafe !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) .topbar {
  min-height: 82px !important;
  padding: 14px 28px !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.12) !important;
  background: #0b2238 !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.18) !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-left {
  gap: 14px !important;
}

body:not(.login-active) .toggle-sidebar,
body:not(.login-active) .topbar .icon-button {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(226, 232, 240, 0.22) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-system-name {
  color: #5eead4 !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
}

body:not(.login-active) .welcome-message {
  color: #cbd5e1 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) #loggedUser {
  color: #ffffff !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
}

body:not(.login-active) .topbar-title {
  display: none !important;
}

body:not(.login-active) .topbar-actions {
  gap: 14px !important;
}

body:not(.login-active) .topbar-company-summary,
body:not(.login-active) .topbar-period-summary {
  min-width: 160px !important;
  height: 48px !important;
  border: 1px solid rgba(226, 232, 240, 0.22) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-filter-label {
  color: #cbd5e1 !important;
}

body:not(.login-active) .topbar-company-summary strong,
body:not(.login-active) .topbar-period-summary strong,
body:not(.login-active) .company-label {
  color: #ffffff !important;
}

body:not(.login-active) .topbar .backend-status,
body:not(.login-active) .topbar .status-notification,
body:not(.login-active) .topbar .ghost-button {
  min-height: 42px !important;
  border: 1px solid rgba(226, 232, 240, 0.22) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.07) !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-profile {
  padding-left: 14px !important;
  border-left: 1px solid rgba(226, 232, 240, 0.18) !important;
}

body:not(.login-active) .profile-avatar {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  background: #e2e8f0 !important;
  color: #475569 !important;
}

body:not(.login-active) .topbar-profile strong {
  color: #ffffff !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
}

body:not(.login-active) .topbar-profile small {
  color: #cbd5e1 !important;
  font-size: 0.74rem !important;
}

body:not(.login-active) .data-status-bar {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body:not(.login-active) .workspace-tabs {
  padding: 18px 28px 0 !important;
  background: #f4f8fb !important;
}

body:not(.login-active) .workspace-tab {
  min-height: 46px !important;
  border-radius: 8px 8px 0 0 !important;
  background: #f8fafc !important;
}

body:not(.login-active) .workspace-tab.active {
  background: #ffffff !important;
  box-shadow: inset 0 -2px 0 #10b981 !important;
}

/* Cabecalho principal conforme referencia */
body:not(.login-active) .topbar {
  min-height: 86px !important;
  padding: 0 30px !important;
  border-bottom: 1px solid #dbe4ee !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  color: #0f172a !important;
}

body:not(.login-active) .topbar-left {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 420px !important;
}

body:not(.login-active) .toggle-sidebar {
  width: 46px !important;
  height: 46px !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
  font-size: 22px !important;
}

body:not(.login-active) .topbar-user-summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}

body:not(.login-active) .topbar-system-name {
  color: #00796f !important;
  font-size: 0.88rem !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) .welcome-message {
  color: #0f766e !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
}

body:not(.login-active) #loggedUser {
  display: inline !important;
  color: #0f172a !important;
  font-size: 0.86rem !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
}

body:not(.login-active) .topbar-title,
body:not(.login-active) .topbar-period-summary,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #logoutBtn,
body:not(.login-active) #seedBtn,
body:not(.login-active) #clearBtn {
  display: none !important;
}

body:not(.login-active) .topbar-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  margin-left: auto !important;
  width: auto !important;
}

body:not(.login-active) .topbar-company-summary {
  width: 170px !important;
  min-width: 170px !important;
  height: 48px !important;
  padding: 7px 16px !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: none !important;
}

body:not(.login-active) .topbar-filter-label {
  display: none !important;
}

body:not(.login-active) .topbar-company-summary .company-label,
body:not(.login-active) #selectedCompanyLabel {
  color: #0f172a !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
}

body:not(.login-active) .topbar-company-summary::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-right: 2px solid #0f172a;
  border-bottom: 2px solid #0f172a;
  transform: rotate(45deg) translateY(-2px);
}

body:not(.login-active) .topbar .backend-status {
  min-width: 190px !important;
  height: 48px !important;
  padding: 0 22px !important;
  border: 1px solid #c9f1e8 !important;
  border-radius: 8px !important;
  background: #eafbf7 !important;
  color: #00796f !important;
  box-shadow: none !important;
  font-size: 0.95rem !important;
  font-weight: 900 !important;
}

body:not(.login-active) .backend-status-dot {
  width: 12px !important;
  height: 12px !important;
  background: #10b981 !important;
}

body:not(.login-active) #backendStatusText {
  display: inline !important;
  color: #00796f !important;
}

body:not(.login-active) #backendStatusText::before {
  content: "Integração Ativa";
  font-size: 0.95rem;
}

body:not(.login-active) #backendStatusText {
  font-size: 0 !important;
}

body:not(.login-active) .topbar-symbol-button,
body:not(.login-active) .topbar .status-notification {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #0f172a !important;
  box-shadow: none !important;
}

body:not(.login-active) .topbar-symbol-button::before,
body:not(.login-active) .topbar .status-notification::before {
  content: "";
  width: 27px;
  height: 27px;
  display: block;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

body:not(.login-active) .topbar-search-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M10 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-8 6a8 8 0 1 1 14.3 4.9l4.4 4.4-1.4 1.4-4.4-4.4A8 8 0 0 1 2 10Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M10 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm-8 6a8 8 0 1 1 14.3 4.9l4.4 4.4-1.4 1.4-4.4-4.4A8 8 0 0 1 2 10Z'/%3E%3C/svg%3E");
}

body:not(.login-active) .topbar .status-notification::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 22a2.8 2.8 0 0 0 2.7-2h-5.4a2.8 2.8 0 0 0 2.7 2ZM5 17h14l-1.8-2.2V10a5.2 5.2 0 0 0-4.2-5.1V3a1 1 0 1 0-2 0v1.9A5.2 5.2 0 0 0 6.8 10v4.8L5 17Zm2.8-2 .8-1V10a3.4 3.4 0 0 1 6.8 0v4l.8 1H7.8Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 22a2.8 2.8 0 0 0 2.7-2h-5.4a2.8 2.8 0 0 0 2.7 2ZM5 17h14l-1.8-2.2V10a5.2 5.2 0 0 0-4.2-5.1V3a1 1 0 1 0-2 0v1.9A5.2 5.2 0 0 0 6.8 10v4.8L5 17Zm2.8-2 .8-1V10a3.4 3.4 0 0 1 6.8 0v4l.8 1H7.8Z'/%3E%3C/svg%3E");
}

body:not(.login-active) .topbar-help-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 18h2v-2h-2v2Zm1-16a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-14a4 4 0 0 0-4 4h2a2 2 0 1 1 2 2 2 2 0 0 0-2 2v1h2v-1a4 4 0 0 0 0-8Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 18h2v-2h-2v2Zm1-16a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-14a4 4 0 0 0-4 4h2a2 2 0 1 1 2 2 2 2 0 0 0-2 2v1h2v-1a4 4 0 0 0 0-8Z'/%3E%3C/svg%3E");
}

body:not(.login-active) #statusNotificationText,
body:not(.login-active) .status-dot-alert {
  display: none !important;
}

body:not(.login-active) .topbar-profile {
  gap: 8px !important;
  padding-left: 10px !important;
  border-left: 0 !important;
}

body:not(.login-active) .profile-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

body:not(.login-active) .profile-avatar::after {
  content: "AD";
  font-size: 1rem;
  font-weight: 800;
}

body:not(.login-active) .profile-avatar::before {
  display: none !important;
}

body:not(.login-active) .topbar-profile strong,
body:not(.login-active) .topbar-profile small {
  display: none !important;
}

body:not(.login-active) .topbar-profile::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(45deg) translateY(-3px);
}

/* Barra lateral conforme referencia enviada */
body:not(.login-active) {
  grid-template-columns: 248px minmax(0, 1fr) !important;
}

body:not(.login-active).sidebar-collapsed {
  grid-template-columns: 88px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  width: 248px !important;
  min-width: 248px !important;
  padding: 26px 10px 18px !important;
  background:
    radial-gradient(circle at 70% 10%, rgba(20, 184, 166, 0.16), transparent 30%),
    linear-gradient(180deg, #0a2740 0%, #0b2238 58%, #0a1c31 100%) !important;
}

body:not(.login-active).sidebar-collapsed .sidebar {
  width: 88px !important;
  min-width: 88px !important;
}

body:not(.login-active) .brand {
  min-height: 72px !important;
  padding: 0 14px 26px !important;
  gap: 12px !important;
  border-bottom: 0 !important;
}

body:not(.login-active) .brand-mark {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  border-radius: 0 !important;
  color: transparent !important;
  background: linear-gradient(135deg, #12bfae, #0ea5a3) !important;
  clip-path: polygon(50% 0, 100% 25%, 100% 74%, 50% 100%, 0 74%, 0 25%) !important;
  position: relative !important;
}

body:not(.login-active) .brand-mark::after {
  content: "";
  position: absolute;
  inset: 9px;
  background: #0b2238;
  clip-path: polygon(50% 0, 100% 25%, 100% 74%, 50% 100%, 0 74%, 0 25%);
}

body:not(.login-active) .brand strong {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1 !important;
  text-shadow: 0 3px 12px rgba(255, 255, 255, 0.12) !important;
}

body:not(.login-active) .brand small {
  display: none !important;
}

body:not(.login-active) .module-nav {
  gap: 6px !important;
  padding: 6px 0 0 !important;
}

body:not(.login-active) .nav-heading {
  min-height: 54px !important;
  padding: 0 14px !important;
  border-radius: 7px !important;
  color: #f1f5f9 !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f8fafc !important;
}

body:not(.login-active) .nav-heading .nav-icon::before {
  width: 22px !important;
  height: 22px !important;
}

body:not(.login-active) .nav-heading:hover,
body:not(.login-active) .nav-group.expanded > .nav-heading {
  background: rgba(15, 118, 110, 0.18) !important;
}

body:not(.login-active) .nav-heading .accordion-mark {
  color: #e2e8f0 !important;
  font-size: 0 !important;
  width: 14px !important;
  height: 14px !important;
  display: inline-block !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-2px) !important;
}

body:not(.login-active) .nav-group.expanded > .nav-heading .accordion-mark {
  transform: rotate(225deg) translate(-2px, -1px) !important;
}

body:not(.login-active) .nav-items {
  margin: 0 0 6px 28px !important;
  padding: 4px 0 8px 14px !important;
  border-left: 1px solid rgba(94, 234, 212, 0.22) !important;
}

body:not(.login-active) .nav-button,
body:not(.login-active) .nav-subheading {
  min-height: 36px !important;
  padding: 7px 10px !important;
  color: #d7e4ea !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) .nav-button .nav-icon,
body:not(.login-active) .nav-subheading .nav-icon {
  display: none !important;
}

body:not(.login-active) .nav-button:hover,
body:not(.login-active) .nav-button.active {
  background: transparent !important;
  color: #5eead4 !important;
}

body:not(.login-active) .module-nav::after {
  content: "Estoque\\A Vendas\\A Qualidade\\A Serviços\\A Integrações";
  white-space: pre;
  display: block;
  margin-top: 2px;
  padding: 0 14px;
  color: #f1f5f9;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 3.35;
  pointer-events: none;
}

/* Layout refinado final - experiencia desktop WebNucleo */
body:not(.login-active) {
  --shell-sidebar: #0b1f33;
  --shell-sidebar-soft: #102b46;
  --shell-accent: #10b981;
  --shell-page: #f4f7fb;
  --shell-line: #d9e3ec;
  --shell-text: #0f172a;
  display: grid !important;
  grid-template-columns: 256px minmax(0, 1fr) !important;
  min-height: 100vh !important;
  background: var(--shell-page) !important;
}

body:not(.login-active).sidebar-collapsed {
  grid-template-columns: 88px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  width: 256px !important;
  min-width: 256px !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  padding: 22px 14px 18px !important;
  background: linear-gradient(180deg, var(--shell-sidebar-soft), var(--shell-sidebar) 58%, #071827) !important;
  box-shadow: 10px 0 32px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden auto !important;
}

body:not(.login-active).sidebar-collapsed .sidebar {
  width: 88px !important;
  min-width: 88px !important;
}

body:not(.login-active) .brand {
  min-height: 62px !important;
  padding: 0 8px 20px !important;
  margin: 0 0 10px !important;
  gap: 12px !important;
  border: 0 !important;
}

body:not(.login-active) .brand-mark {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  clip-path: none !important;
  background: linear-gradient(135deg, #14b8a6, #10b981) !important;
  color: #062033 !important;
  font-size: 0 !important;
}

body:not(.login-active) .brand-mark::before {
  content: "WN";
  font-size: 0.86rem;
  font-weight: 900;
}

body:not(.login-active) .brand-mark::after {
  content: none !important;
}

body:not(.login-active) .brand strong {
  color: #ffffff !important;
  font-size: 1.55rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-shadow: none !important;
}

body:not(.login-active) .brand small {
  display: block !important;
  color: #9fb6c8 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .module-nav {
  gap: 6px !important;
  padding-top: 4px !important;
}

body:not(.login-active) .module-nav::after {
  content: none !important;
  display: none !important;
}

body:not(.login-active) .nav-heading {
  min-height: 46px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  color: #dbeafe !important;
  font-size: 0.88rem !important;
  font-weight: 760 !important;
}

body:not(.login-active) .nav-heading:hover,
body:not(.login-active) .nav-group.expanded > .nav-heading {
  background: rgba(20, 184, 166, 0.12) !important;
  color: #ffffff !important;
}

body:not(.login-active) .nav-heading .nav-icon {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  border-radius: 9px !important;
  background: rgba(148, 163, 184, 0.12) !important;
  color: #a7f3d0 !important;
}

body:not(.login-active) .nav-items {
  margin: 2px 0 8px 27px !important;
  padding: 4px 0 6px 13px !important;
  border-left: 1px solid rgba(94, 234, 212, 0.20) !important;
}

body:not(.login-active) .nav-button,
body:not(.login-active) .nav-subheading {
  min-height: 34px !important;
  padding: 7px 10px !important;
  color: #bdd0df !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) .nav-button:hover,
body:not(.login-active) .nav-button.active {
  background: rgba(16, 185, 129, 0.14) !important;
  color: #ffffff !important;
}

body:not(.login-active) .app-shell {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  min-height: 100vh !important;
  background: var(--shell-page) !important;
}

body:not(.login-active) .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  min-height: 78px !important;
  padding: 0 28px !important;
  border-bottom: 1px solid var(--shell-line) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  color: var(--shell-text) !important;
}

body:not(.login-active) .topbar-left {
  min-width: 360px !important;
}

body:not(.login-active) .topbar-system-name {
  color: #087a73 !important;
  font-weight: 850 !important;
}

body:not(.login-active) .welcome-message {
  color: #0f766e !important;
  font-weight: 700 !important;
}

body:not(.login-active) #loggedUser {
  color: var(--shell-text) !important;
  font-weight: 850 !important;
}

body:not(.login-active) .workspace-tabs {
  padding: 16px 28px 0 !important;
  background: var(--shell-page) !important;
}

body:not(.login-active) .workspace-tab {
  min-height: 46px !important;
  border-radius: 10px 10px 0 0 !important;
}

body:not(.login-active) .view.active {
  padding: 0 28px 28px !important;
}

/* Ajustes solicitados - limpeza visual e menu funcional */
body:not(.login-active) .topbar {
  min-height: 80px !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
  background:
    linear-gradient(90deg, #0b1f33 0%, #102b46 58%, #0f3446 100%) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18) !important;
  color: #ffffff !important;
}

body:not(.login-active) .toggle-sidebar {
  border-color: rgba(226, 232, 240, 0.20) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body:not(.login-active) .topbar-system-name {
  color: #5eead4 !important;
}

body:not(.login-active) .welcome-message {
  color: #c8f5eb !important;
}

body:not(.login-active) #loggedUser {
  color: #ffffff !important;
}

body:not(.login-active) .topbar-company-summary {
  border-color: rgba(226, 232, 240, 0.22) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

body:not(.login-active) #selectedCompanyLabel {
  color: #ffffff !important;
}

body:not(.login-active) .topbar-company-summary::after {
  border-color: #ffffff !important;
}

body:not(.login-active) #backendStatusIndicator,
body:not(.login-active) .data-status-bar {
  display: none !important;
}

body:not(.login-active) .topbar-symbol-button,
body:not(.login-active) .topbar .status-notification {
  color: #e2e8f0 !important;
}

body:not(.login-active) .profile-avatar {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-profile::after {
  border-color: #cbd5e1 !important;
}

body:not(.login-active) .nav-group.collapsed .nav-items,
body:not(.login-active).sidebar-collapsed .nav-items {
  display: none !important;
}

body:not(.login-active) .nav-group.expanded .nav-items {
  display: grid !important;
}

body:not(.login-active) .nav-heading {
  cursor: pointer !important;
}

body:not(.login-active) #dashboardView.active {
  min-height: calc(100vh - 142px) !important;
  display: grid !important;
  place-items: center !important;
  padding: 32px !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  width: min(920px, 100%) !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
  text-align: center !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2 {
  font-size: clamp(2.4rem, 4vw, 4.6rem) !important;
  line-height: 1.04 !important;
}

body:not(.login-active) #dashboardView .welcome-hero span,
body:not(.login-active) #dashboardView .welcome-hero p,
body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: none !important;
}

/* Restauracao de layout - referencia 1.01.26.0608 */
:root {
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --ink: #0f172a;
  --muted: #64748b;
  --line: #dbe4ee;
  --brand: #10b981;
  --brand-strong: #059669;
  --accent: #f59e0b;
  --danger: #ef4444;
  --ok: #10b981;
  --warn: #f59e0b;
  --sidebar: #0f172a;
  --sidebar-2: #0b2035;
  --card-ink: #1e293b;
  --text-on-dark: #ffffff;
  --shadow: 0 18px 42px rgba(16, 24, 40, 0.10);
  --soft-shadow: 0 8px 22px rgba(16, 24, 40, 0.08);
}

body:not(.login-active) {
  display: grid !important;
  grid-template-columns: 214px minmax(0, 1fr) !important;
  min-height: 100vh !important;
  background: var(--bg) !important;
  color: var(--ink) !important;
  overflow: hidden !important;
}

body.sidebar-collapsed:not(.login-active) {
  grid-template-columns: 82px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  width: 214px !important;
  min-height: 100vh !important;
  height: 100vh !important;
  padding: 14px 12px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  background: linear-gradient(180deg, #0f172a 0%, #0b2035 100%) !important;
  box-shadow: 10px 0 28px rgba(16, 24, 40, 0.10) !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar {
  width: 82px !important;
  padding-inline: 12px !important;
}

body:not(.login-active) .brand {
  min-height: 62px !important;
  padding: 0 4px 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body:not(.login-active) .brand-mark {
  width: 48px !important;
  height: 48px !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #06b6d4, #10b981) !important;
  color: #0f172a !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) .brand strong {
  color: #ffffff !important;
  font-size: 1.08rem !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

body:not(.login-active) .brand small {
  color: #9fb3bf !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .module-nav {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: auto !important;
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  padding-right: 2px !important;
}

body:not(.login-active) .nav-group {
  display: grid !important;
  gap: 4px !important;
}

body:not(.login-active) .nav-heading {
  width: 100% !important;
  min-height: 42px !important;
  padding: 8px 6px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-align: left !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) .nav-heading:hover,
body:not(.login-active) .nav-group.expanded > .nav-heading {
  background: rgba(16, 185, 129, 0.10) !important;
}

body:not(.login-active) .accordion-mark {
  margin-left: auto !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .nav-items {
  display: grid !important;
  gap: 3px !important;
}

body:not(.login-active) .nav-group.collapsed .nav-items {
  display: none !important;
}

body:not(.login-active) .nav-group.expanded .nav-items {
  display: grid !important;
}

body:not(.login-active) .nav-button {
  width: 100% !important;
  min-height: 38px !important;
  padding: 8px 8px 8px 40px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #d7e4ea !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-align: left !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
}

body:not(.login-active) .nav-button:hover,
body:not(.login-active) .nav-button.active {
  background: #1e293b !important;
  color: #ffffff !important;
}

body:not(.login-active) .nav-icon {
  width: 31px !important;
  height: 31px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(16, 185, 129, 0.14) !important;
  color: #10b981 !important;
}

body:not(.login-active) .nav-icon::before,
body:not(.login-active) .swn-icon::before {
  width: 18px !important;
  height: 18px !important;
}

body:not(.login-active) .sidebar-actions {
  display: none !important;
}

body:not(.login-active) .sidebar-status {
  margin-top: auto !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  display: grid !important;
  gap: 12px !important;
  color: #c8d7df !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .sidebar-online,
body:not(.login-active) .sidebar-clock,
body:not(.login-active) .sidebar-version {
  min-height: 26px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding-inline: 6px !important;
}

body:not(.login-active) .sidebar-online span {
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: #10b981 !important;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12) !important;
}

body.sidebar-collapsed:not(.login-active) .brand div,
body.sidebar-collapsed:not(.login-active) .nav-heading span:not(.nav-icon),
body.sidebar-collapsed:not(.login-active) .nav-button span:not(.nav-icon),
body.sidebar-collapsed:not(.login-active) .accordion-mark,
body.sidebar-collapsed:not(.login-active) .sidebar-status {
  display: none !important;
}

/* Correcao final: data/hora abaixo dos icones do cabecalho */
body:not(.login-active) .topbar-actions {
  display: grid !important;
  grid-template-columns: repeat(5, 48px) minmax(116px, auto) !important;
  grid-template-rows: 42px 18px !important;
  align-items: center !important;
  justify-content: end !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  min-width: 0 !important;
}

body:not(.login-active) #topbarSearchBtn,
body:not(.login-active) #statusNotificationBtn,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #topbarHelpBtn,
body:not(.login-active) #logoutBtn.topbar-logout-icon {
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
  border-radius: 10px !important;
}

body:not(.login-active) #topbarSearchBtn {
  grid-column: 1 !important;
  order: initial !important;
}

body:not(.login-active) #statusNotificationBtn {
  grid-column: 2 !important;
  order: initial !important;
}

body:not(.login-active) #closeAllTabsBtn {
  grid-column: 3 !important;
  order: initial !important;
  display: grid !important;
}

body:not(.login-active) #topbarHelpBtn {
  grid-column: 4 !important;
  order: initial !important;
}

body:not(.login-active) #logoutBtn.topbar-logout-icon {
  grid-column: 5 !important;
  order: initial !important;
}

body:not(.login-active) #topbarActionClock {
  grid-column: 2 / 6 !important;
  grid-row: 2 !important;
  order: initial !important;
  align-self: start !important;
  justify-self: center !important;
  display: block !important;
  margin: -3px 0 0 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.66rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body:not(.login-active) .topbar-profile {
  grid-column: 6 !important;
  grid-row: 1 / 3 !important;
  order: initial !important;
  align-self: stretch !important;
  justify-self: end !important;
  margin: 0 0 0 14px !important;
  padding-left: 24px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
}

/* Limpeza visual solicitada para login e tela inicial */
body.login-active .login-brand-hero,
body:not(.login-active) #dashboardView .system-home-status {
  display: none !important;
}

/* Camada final da reestilizacao solicitada - 2.01.26.0036 */
body.login-active {
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  background: #f8fafc !important;
}

body.login-active .login-view {
  min-height: 100vh !important;
  padding: 22px !important;
  display: grid !important;
  place-items: center !important;
  overflow: auto !important;
  background: #f8fafc !important;
}

body.login-active .login-view::before,
body.login-active .login-view::after,
body.login-active .login-visual-panels,
body.login-active .login-footer-message,
body.login-active .login-footer-version,
body.login-active .login-database-field {
  display: none !important;
}

body.login-active .login-card {
  width: min(392px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  padding: 28px 28px 30px !important;
  display: grid !important;
  gap: 13px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16) !important;
}

body.login-active .login-card-icon {
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto 2px !important;
  background: #d9f8ec !important;
  color: #0ca678 !important;
}

body.login-active .login-card-title h1 {
  color: #111827 !important;
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.login-active .login-card-title p {
  margin: 8px 0 4px !important;
  color: #94a3b8 !important;
  font-size: 0.95rem !important;
}

body.login-active .login-field label {
  color: #64748b !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body.login-active .login-field input,
body.login-active .login-field select {
  min-height: 42px !important;
  padding: 0 42px !important;
  border: 1px solid #d7e1ea !important;
  border-radius: 6px !important;
  color: #334155 !important;
  font-size: 0.94rem !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body.login-active .login-input-icon,
body.login-active .login-field-action {
  bottom: 6px !important;
  color: #94a3b8 !important;
}

body.login-active .login-input-icon::before,
body.login-active .login-field-action::before,
body.login-active .login-card-icon::before {
  width: 17px !important;
  height: 17px !important;
}

body.login-active .recover-password-link {
  margin: -2px 0 0 !important;
  justify-self: end !important;
  color: #059669 !important;
  font-size: 0.86rem !important;
  font-weight: 900 !important;
}

body.login-active .login-button {
  min-height: 52px !important;
  margin-top: 0 !important;
  border-radius: 7px !important;
  background: #10b981 !important;
  box-shadow: 0 12px 20px rgba(16, 185, 129, 0.22) !important;
  font-size: 0.98rem !important;
  font-weight: 900 !important;
}

body.login-active .login-progress {
  height: 7px !important;
  margin-top: 2px !important;
  background: #edf2f7 !important;
}

body.login-active .login-loading-text,
body.login-active .login-message {
  margin: 0 !important;
  color: #64748b !important;
  text-align: center !important;
  font-size: 0.82rem !important;
}

body:not(.login-active) .app-shell,
body:not(.login-active)[data-module-active="dashboard"] .app-shell {
  background: #f4f8fb !important;
}

body:not(.login-active) #dashboardView.active {
  position: relative !important;
  min-height: calc(100vh - 126px) !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  background: #f4f8fb !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  position: relative !important;
  min-height: calc(100vh - 126px) !important;
  margin: 0 !important;
  padding: 30px 24px 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #f7fbfe 0%, #eff5f9 100%) !important;
  box-shadow: none !important;
  text-align: left !important;
}

body:not(.login-active) #dashboardView .welcome-hero::before {
  content: "WN" !important;
  position: absolute !important;
  inset: auto clamp(40px, 6vw, 96px) clamp(42px, 7vh, 96px) auto !important;
  z-index: 0 !important;
  width: auto !important;
  color: rgba(15, 23, 42, 0.055) !important;
  font-size: clamp(13rem, 28vw, 31rem) !important;
  font-weight: 900 !important;
  line-height: 0.72 !important;
  letter-spacing: 0 !important;
  pointer-events: none !important;
}

body:not(.login-active) #dashboardView .welcome-hero::after {
  content: "" !important;
  position: absolute !important;
  left: clamp(36px, 6vw, 110px) !important;
  top: clamp(110px, 17vh, 190px) !important;
  z-index: 1 !important;
  width: min(460px, 34vw) !important;
  height: 182px !important;
  background:
    linear-gradient(#ffffff, #ffffff) 4px 0 / 160px 24px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 74px / 100% 108px no-repeat !important;
  opacity: 0.9 !important;
  pointer-events: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(590px, 38vw) !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
  text-align: left !important;
}

body:not(.login-active) #dashboardView .system-home-copy span {
  display: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2,
body:not(.login-active) #dashboardView .welcome-hero h2 {
  margin: 0 0 12px !important;
  color: #0f172a !important;
  font-size: clamp(1.9rem, 2.45vw, 3rem) !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2::before,
body:not(.login-active) #dashboardView .welcome-hero h2::before {
  content: none !important;
  display: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy i,
body:not(.login-active) #dashboardView .welcome-hero i {
  width: 150px !important;
  height: 5px !important;
  margin: 0 0 10px !important;
  display: block !important;
  border-radius: 999px !important;
  background: #14b8a6 !important;
}

body:not(.login-active) #dashboardView .system-home-copy p,
body:not(.login-active) #dashboardView .welcome-hero p {
  display: block !important;
  max-width: 570px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: none !important;
}

@media (max-width: 900px) {
  body:not(.login-active) #dashboardView .welcome-hero {
    min-height: calc(100vh - 126px) !important;
    padding: 32px 24px !important;
  }

  body:not(.login-active) #dashboardView .system-home-copy {
    width: 100% !important;
    max-width: 620px !important;
    margin-left: 0 !important;
  }

  body:not(.login-active) #dashboardView .welcome-hero::after {
    display: none !important;
  }

  body:not(.login-active) #dashboardView .welcome-hero::before {
    inset: auto 20px 36px auto !important;
    font-size: clamp(9rem, 48vw, 18rem) !important;
  }
}

.award-mode-panel > .intervention-button { grid-column:1/-1; justify-self:end; }

/* Correcao: manter identidade verde no fundo do login - 2.01.26.0036 */
body.login-active {
  background:
    linear-gradient(120deg, rgba(16, 185, 129, 0.42), transparent 34%),
    linear-gradient(250deg, rgba(20, 184, 166, 0.36), transparent 36%),
    #0f172a !important;
}

body.login-active .login-view {
  background:
    linear-gradient(120deg, rgba(16, 185, 129, 0.42), transparent 34%),
    linear-gradient(250deg, rgba(20, 184, 166, 0.36), transparent 36%),
    #0f172a !important;
}

/* Correcao dos campos do login - 2.01.26.0037 */
body.login-active #loginUser,
body.login-active label[for="loginUser"] {
  display: initial !important;
  visibility: visible !important;
}

body.login-active #loginUser {
  display: block !important;
}

body.login-active .login-field:has(#loginUser) {
  display: grid !important;
}

body.login-active .login-database-field,
body.login-active .login-field:has(#loginDatabaseSelect) {
  display: none !important;
}

/* Ajuste tela inicial: informacoes no topo, sem sobrepor o WN - 2.01.26.0039 */
body:not(.login-active) #dashboardView .welcome-hero {
  position: relative !important;
  min-height: calc(100vh - 126px) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body:not(.login-active) #dashboardView .system-home-copy {
  position: absolute !important;
  top: 24px !important;
  right: clamp(64px, 7vw, 122px) !important;
  z-index: 3 !important;
  width: min(560px, 36vw) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2 {
  margin: 0 0 10px !important;
  color: #0f172a !important;
  font-size: clamp(2rem, 2.8vw, 3.25rem) !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
}

body:not(.login-active) #dashboardView .system-home-copy i {
  width: 150px !important;
  height: 5px !important;
  margin: 0 0 10px !important;
  display: block !important;
  border-radius: 999px !important;
  background: #14b8a6 !important;
}

body:not(.login-active) #dashboardView .system-home-copy p {
  max-width: 560px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
}

body:not(.login-active) #dashboardView .welcome-hero::before {
  content: "WN" !important;
  position: absolute !important;
  inset: auto clamp(70px, 9vw, 150px) -72px auto !important;
  z-index: 0 !important;
  color: rgba(15, 23, 42, 0.055) !important;
  font-size: clamp(15rem, 31vw, 34rem) !important;
  font-weight: 900 !important;
  line-height: 0.72 !important;
  letter-spacing: 0 !important;
  pointer-events: none !important;
}

body:not(.login-active) #dashboardView .welcome-hero::after {
  top: clamp(112px, 18vh, 190px) !important;
}

@media (max-width: 900px) {
  body:not(.login-active) #dashboardView .system-home-copy {
    top: 24px !important;
    right: 24px !important;
    left: 24px !important;
    width: auto !important;
  }

  body:not(.login-active) #dashboardView .welcome-hero::before {
    inset: auto 20px 20px auto !important;
    font-size: clamp(9rem, 48vw, 18rem) !important;
  }
}

/* Reestilizacao solicitada - login e pagina principal 2.01.26.0036 */
body.login-active {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr;
  background: #f8fafc;
}

body.login-active .login-view {
  min-height: 100vh;
  padding: 22px;
  display: grid;
  place-items: center;
  overflow: auto;
  background: #f8fafc !important;
}

body.login-active .login-view::before,
body.login-active .login-view::after,
body.login-active .login-visual-panels,
body.login-active .login-footer-message,
body.login-active .login-footer-version,
body.login-active .login-database-field {
  display: none !important;
}

body.login-active .login-card {
  width: min(392px, calc(100vw - 32px));
  margin: 0;
  padding: 28px 28px 30px;
  display: grid;
  gap: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

body.login-active .login-card-icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 2px;
  background: #d9f8ec;
  color: #0ca678;
}

body.login-active .login-card-icon::before {
  width: 18px;
  height: 18px;
}

body.login-active .login-card-title h1 {
  color: #111827;
  font-size: 1.45rem;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

body.login-active .login-card-title p {
  margin: 8px 0 4px;
  color: #94a3b8;
  font-size: 0.95rem;
  line-height: 1.35;
}

body.login-active .login-field {
  gap: 6px;
}

body.login-active .login-field label {
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}

body.login-active .login-field input,
body.login-active .login-field select {
  min-height: 42px;
  padding: 0 42px;
  border: 1px solid #d7e1ea;
  border-radius: 6px;
  color: #334155;
  font-size: 0.94rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.login-active .login-field input:focus,
body.login-active .login-field select:focus {
  border-color: #14b8a6;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12);
  outline: none;
}

body.login-active .login-input-icon,
body.login-active .login-field-action {
  bottom: 6px;
  color: #94a3b8;
}

body.login-active .login-input-icon::before,
body.login-active .login-field-action::before {
  width: 17px;
  height: 17px;
}

body.login-active .recover-password-link {
  margin: -2px 0 0;
  justify-self: end;
  color: #059669;
  font-size: 0.86rem;
  font-weight: 900;
}

body.login-active .login-button {
  min-height: 52px;
  margin-top: 0;
  border-radius: 7px;
  background: #10b981;
  box-shadow: 0 12px 20px rgba(16, 185, 129, 0.22);
  font-size: 0.98rem;
  font-weight: 900;
}

body.login-active .login-button:hover {
  background: #0ea371;
}

body.login-active .login-progress {
  height: 7px;
  margin-top: 2px;
  background: #edf2f7;
}

body.login-active .login-loading-text {
  margin: 0;
  color: #64748b;
  font-size: 0.82rem;
}

body.login-active .login-message {
  min-height: 18px;
  margin: 0;
  text-align: center;
  font-size: 0.82rem;
}

body:not(.login-active)[data-module-active="dashboard"] .app-shell,
body:not(.login-active) .app-shell {
  background: #f4f8fb !important;
}

body:not(.login-active) #dashboardView.active {
  position: relative;
  min-height: calc(100vh - 126px) !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden;
  background: #f4f8fb !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  position: relative;
  min-height: calc(100vh - 126px) !important;
  margin: 0 !important;
  padding: 30px 24px 0 !important;
  display: block !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #f7fbfe 0%, #eff5f9 100%) !important;
  box-shadow: none !important;
}

body:not(.login-active) #dashboardView .welcome-hero::before {
  content: "WN" !important;
  position: absolute !important;
  right: clamp(40px, 6vw, 96px) !important;
  bottom: clamp(42px, 7vh, 96px) !important;
  inset: auto clamp(40px, 6vw, 96px) clamp(42px, 7vh, 96px) auto !important;
  z-index: 0;
  width: auto !important;
  color: rgba(15, 23, 42, 0.055) !important;
  font-size: clamp(13rem, 28vw, 31rem) !important;
  font-weight: 900 !important;
  line-height: 0.72 !important;
  letter-spacing: 0 !important;
  pointer-events: none;
}

body:not(.login-active) #dashboardView .welcome-hero::after {
  content: "";
  position: absolute;
  left: clamp(36px, 6vw, 110px);
  top: clamp(110px, 17vh, 190px);
  z-index: 1;
  width: min(460px, 34vw);
  height: 182px;
  background:
    linear-gradient(#ffffff, #ffffff) 4px 0 / 160px 24px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 74px / 100% 108px no-repeat;
  opacity: 0.9;
  pointer-events: none;
}

body:not(.login-active) #dashboardView .system-home-copy {
  position: relative;
  z-index: 2;
  width: min(590px, 38vw);
  margin-left: auto;
  margin-right: 0;
  padding-top: 0;
  text-align: left;
}

body:not(.login-active) #dashboardView .system-home-copy span {
  display: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2,
body:not(.login-active) #dashboardView .welcome-hero h2 {
  margin: 0 0 12px !important;
  color: #0f172a !important;
  font-size: clamp(1.9rem, 2.45vw, 3rem) !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2::before,
body:not(.login-active) #dashboardView .welcome-hero h2::before {
  content: none !important;
  display: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy i,
body:not(.login-active) #dashboardView .welcome-hero i {
  width: 150px !important;
  height: 5px !important;
  margin: 0 0 10px !important;
  display: block !important;
  border-radius: 999px !important;
  background: #14b8a6 !important;
}

body:not(.login-active) #dashboardView .system-home-copy p,
body:not(.login-active) #dashboardView .welcome-hero p {
  display: block !important;
  max-width: 570px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: none !important;
}

@media (max-width: 900px) {
  body:not(.login-active) #dashboardView .welcome-hero {
    min-height: calc(100vh - 126px) !important;
    padding: 32px 24px !important;
  }

  body:not(.login-active) #dashboardView .system-home-copy {
    width: 100%;
    max-width: 620px;
    margin-left: 0;
  }

  body:not(.login-active) #dashboardView .welcome-hero::after {
    display: none;
  }

  body:not(.login-active) #dashboardView .welcome-hero::before {
    right: 20px !important;
    bottom: 36px !important;
    font-size: clamp(9rem, 48vw, 18rem) !important;
  }
}

/* Limpeza visual solicitada para login e tela inicial */
body.login-active .login-brand-hero,
body:not(.login-active) #dashboardView .system-home-status {
  display: none !important;
}

/* Versao 2.01.26.0812 - perfil unico por empresa */
body:not(.login-active) #dashboardView .system-home-hero {
  width: min(1120px, 100%) !important;
  min-height: 174px !important;
  margin: 0 auto 18px !important;
  padding: 26px 30px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  overflow: hidden !important;
  border: 1px solid #e1e8ee !important;
  border-radius: 8px !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78)), #f8fbfd !important;
  box-shadow: var(--soft-shadow) !important;
  text-align: left !important;
}

body:not(.login-active) #dashboardView .system-home-hero::before {
  content: "WN" !important;
  inset: auto 18px -18px auto !important;
  color: rgba(15, 23, 42, 0.045) !important;
  font-size: clamp(6rem, 15vw, 13rem) !important;
  line-height: 0.8 !important;
}

body:not(.login-active) #dashboardView .system-home-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

body:not(.login-active) #dashboardView .system-home-copy span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid #b7eadb !important;
  border-radius: 8px !important;
  background: #eefdf7 !important;
  color: var(--brand-strong) !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2 {
  margin: 12px 0 8px !important;
  color: #07162b !important;
  font-size: clamp(2rem, 3vw, 2.6rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) #dashboardView .system-home-copy i {
  width: 172px !important;
  height: 4px !important;
  display: block !important;
  border-radius: 999px !important;
  background: var(--brand) !important;
}

body:not(.login-active) #dashboardView .system-home-copy p {
  max-width: 610px !important;
  margin: 10px 0 0 !important;
  color: #52657a !important;
  font-size: 0.94rem !important;
  line-height: 1.5 !important;
}

body:not(.login-active) #dashboardView .system-home-status {
  position: relative;
  z-index: 1;
  width: 245px;
  min-height: 84px;
  padding: 16px;
  display: grid;
  align-content: center;
  gap: 6px;
  border: 1px solid #d8e6ee;
  border-radius: 8px;
  background: #ffffff;
}

body:not(.login-active) #dashboardView .system-home-status strong {
  color: #07162b;
  font-size: 1rem;
}

body:not(.login-active) #dashboardView .system-home-status small {
  color: #52657a;
  font-weight: 700;
}

@media (max-width: 760px) {
  body:not(.login-active) #dashboardView .system-home-hero {
    grid-template-columns: 1fr !important;
    padding: 22px !important;
  }

  body:not(.login-active) #dashboardView .system-home-status {
    width: 100%;
  }
}

/* Tela inicial: aproximar boas-vindas das abas */
body:not(.login-active) #dashboardView .welcome-hero {
  padding: 24px 64px 72px !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2 {
  margin: 0 0 14px !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2::before {
  content: "" !important;
  display: none !important;
  margin: 0 !important;
}

/* Perfil do usuario logado */
.topbar-profile {
  cursor: pointer;
  border-radius: 12px;
}

.topbar-profile:hover {
  background: rgba(255, 255, 255, 0.06);
}

.topbar-profile:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.profile-dialog {
  width: min(620px, calc(100vw - 32px));
}

.profile-dialog form {
  min-width: 0;
}

.profile-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding-top: 8px;
}

.profile-form-grid .field {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.profile-form-grid .field.full {
  grid-column: 1 / -1;
}

.profile-form-grid input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font: inherit;
  padding: 0 12px;
  text-transform: none;
}

.profile-form-grid input:focus {
  border-color: var(--accent);
  outline: 3px solid rgba(16, 185, 129, 0.16);
}

.profile-dialog .user-photo-editor {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
}

.profile-dialog .user-photo-preview {
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  font-size: 30px;
}

.profile-dialog .user-photo-actions {
  gap: 8px;
}

.profile-dialog .user-photo-actions small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.profile-dialog .dialog-actions {
  margin-top: 18px;
}

@media (max-width: 640px) {
  .profile-form-grid {
    grid-template-columns: 1fr;
  }
}

/* Cabecalho: data/hora abaixo do grupo de icones */
body:not(.login-active) .topbar-actions {
  display: grid !important;
  grid-template-columns: repeat(5, 42px) minmax(112px, auto) !important;
  grid-template-rows: 42px 18px !important;
  align-items: center !important;
  justify-content: end !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  min-width: 0 !important;
}

body:not(.login-active) #topbarSearchBtn,
body:not(.login-active) #statusNotificationBtn,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #topbarHelpBtn,
body:not(.login-active) #logoutBtn.topbar-logout-icon {
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
  border-radius: 10px !important;
  align-self: center !important;
  justify-self: center !important;
}

body:not(.login-active) #topbarSearchBtn {
  grid-column: 1 !important;
  order: initial !important;
}

body:not(.login-active) #statusNotificationBtn {
  grid-column: 2 !important;
  order: initial !important;
}

body:not(.login-active) #closeAllTabsBtn {
  grid-column: 3 !important;
  order: initial !important;
  display: grid !important;
}

body:not(.login-active) #topbarHelpBtn {
  grid-column: 4 !important;
  order: initial !important;
}

body:not(.login-active) #logoutBtn.topbar-logout-icon {
  grid-column: 5 !important;
  order: initial !important;
}

body:not(.login-active) #topbarActionClock {
  grid-column: 1 / 6 !important;
  grid-row: 2 !important;
  order: initial !important;
  justify-self: end !important;
  align-self: start !important;
  margin: -2px 0 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.66rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body:not(.login-active) .topbar-profile {
  grid-column: 6 !important;
  grid-row: 1 / 3 !important;
  order: initial !important;
  align-self: stretch !important;
  justify-self: end !important;
  margin-left: 10px !important;
  padding-left: 24px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
}

/* Ajuste final do cabecalho: avatar real e ordem dos icones */
body:not(.login-active) .topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

body:not(.login-active) #topbarSearchBtn {
  order: 1 !important;
}

body:not(.login-active) #statusNotificationBtn {
  order: 2 !important;
}

body:not(.login-active) #closeAllTabsBtn {
  order: 3 !important;
  display: grid !important;
}

body:not(.login-active) #topbarHelpBtn {
  order: 4 !important;
}

body:not(.login-active) #logoutBtn.topbar-logout-icon {
  order: 5 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  border-left: 0 !important;
  border-radius: 10px !important;
}

body:not(.login-active) #topbarActionClock {
  order: 6 !important;
  margin-left: 8px !important;
  padding-left: 16px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
}

body:not(.login-active) .topbar-profile {
  order: 7 !important;
  margin-left: 10px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
}

body:not(.login-active) .topbar-profile::before,
body:not(.login-active) .topbar-profile::after {
  display: none !important;
  content: none !important;
}

body:not(.login-active) .profile-avatar {
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background-color: #14b8a6 !important;
  background-image: none;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body:not(.login-active) .profile-avatar::before,
body:not(.login-active) .profile-avatar::after {
  display: none !important;
  content: none !important;
}

body:not(.login-active) .profile-avatar.has-photo {
  color: transparent !important;
}

/* Versao 2.01.26.0010 - estabilizacao final da documentacao */
body.login-active {
  height: 100dvh !important;
  overflow: hidden !important;
}

body.login-active .login-view {
  width: 100vw !important;
  min-height: 100dvh !important;
  height: 100dvh !important;
  overflow: hidden !important;
  padding: clamp(18px, 3vh, 42px) 20px !important;
  align-content: center !important;
}

body.login-active .login-card {
  width: min(420px, calc(100vw - 40px)) !important;
  max-height: calc(100dvh - 180px) !important;
  padding: clamp(22px, 3vh, 34px) !important;
}

@media (max-height: 760px) {
  body.login-active .login-brand-hero {
    top: 22px !important;
    transform: translateX(-50%) scale(0.9) !important;
  }

  body.login-active .login-card {
    gap: 10px !important;
    max-height: calc(100dvh - 132px) !important;
  }

  body.login-active .login-footer-message {
    display: none !important;
  }
}

body:not(.login-active) {
  grid-template-columns: 292px minmax(0, 1fr) !important;
  overflow-x: hidden !important;
  align-items: stretch !important;
}

body.sidebar-collapsed:not(.login-active) {
  grid-template-columns: 92px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  width: 292px !important;
  min-height: 100vh !important;
  height: auto !important;
  padding: 28px 14px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar {
  width: 92px !important;
  padding-inline: 16px !important;
}

body:not(.login-active) .brand {
  flex: 0 0 auto !important;
  margin-bottom: 24px !important;
  padding-bottom: 24px !important;
}

body:not(.login-active) .module-nav {
  flex: 0 0 auto !important;
  order: 1 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  gap: 8px !important;
}

body:not(.login-active) .nav-heading {
  min-height: 52px !important;
  padding: 12px 10px !important;
  border-radius: 10px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

body:not(.login-active) .nav-heading .nav-icon,
body:not(.login-active) .nav-button .nav-icon,
body:not(.login-active) .nav-subheading .nav-icon {
  display: inline-grid !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  place-items: center !important;
}

body:not(.login-active) .nav-heading .nav-icon::before,
body:not(.login-active) .nav-button .nav-icon::before,
body:not(.login-active) .nav-subheading .nav-icon::before {
  width: 18px !important;
  height: 18px !important;
}

body:not(.login-active) .nav-items,
body:not(.login-active) .nav-group.expanded .nav-items {
  margin: 6px 0 10px 45px !important;
  padding: 0 0 0 14px !important;
  width: calc(100% - 50px) !important;
  border-left: 1px solid rgba(45, 212, 191, 0.28) !important;
  gap: 4px !important;
}

body:not(.login-active) .nav-button {
  min-height: 42px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  color: #f8fafc !important;
  font-size: 0.96rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

body:not(.login-active) .nav-subheading {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(226, 232, 240, 0.78) !important;
  font-size: 0.86rem !important;
  font-weight: 400 !important;
  padding: 6px 10px !important;
}

body:not(.login-active) .accordion-mark,
body:not(.login-active) .accordion-mark::before,
body:not(.login-active) .accordion-mark::after,
body:not(.login-active) .nav-heading::after {
  display: none !important;
  content: none !important;
}

body:not(.login-active) .sidebar-status {
  order: 2 !important;
  margin: 18px 8px 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: flex-start !important;
  background: transparent !important;
}

body:not(.login-active) .sidebar-online,
body:not(.login-active) .sidebar-clock,
body:not(.login-active) .sidebar-version {
  width: 100% !important;
  min-height: 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar-status {
  display: flex !important;
  width: 52px !important;
  margin: 16px auto 0 !important;
  padding-top: 16px !important;
  align-items: center !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar-online {
  justify-content: center !important;
  gap: 0 !important;
  font-size: 0 !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar-clock,
body.sidebar-collapsed:not(.login-active) .sidebar-version {
  display: none !important;
}

body:not(.login-active) .topbar {
  min-height: 100px !important;
  padding: 14px 26px !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  background: linear-gradient(90deg, #062236 0%, #082b3d 58%, #073044 100%) !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16) !important;
}

body:not(.login-active) .topbar-left {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  min-width: 320px !important;
}

body:not(.login-active) .topbar .icon-button#toggleSidebarBtn {
  width: 52px !important;
  height: 52px !important;
  border-radius: 10px !important;
}

body:not(.login-active) .topbar-user-summary {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}

body:not(.login-active) .topbar-system-name {
  color: #ffffff !important;
  font-size: 1.12rem !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

body:not(.login-active) .topbar-header-company {
  color: #ffffff !important;
  display: block !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

body:not(.login-active) #loggedUser,
body:not(.login-active) #welcomeMessage,
body:not(.login-active) .topbar-title,
body:not(.login-active) .topbar-company-summary,
body:not(.login-active) .topbar-period-summary,
body:not(.login-active) .backend-status,
body:not(.login-active) #statusNotificationText,
body:not(.login-active) #seedBtn,
body:not(.login-active) #clearBtn {
  display: none !important;
}

body:not(.login-active) .topbar-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

body:not(.login-active) .topbar-symbol-button,
body:not(.login-active) .topbar .status-notification {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #f8fafc !important;
  box-shadow: none !important;
  display: grid !important;
  place-items: center !important;
}

body:not(.login-active) .topbar-symbol-button::before,
body:not(.login-active) .topbar .status-notification::before {
  width: 24px !important;
  height: 24px !important;
}

body:not(.login-active) .topbar-close-tabs-icon::before {
  content: "" !important;
  background: currentColor !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 5.5A2.5 2.5 0 0 1 6.5 3h6A2.5 2.5 0 0 1 15 5.5V7h1.5A2.5 2.5 0 0 1 19 9.5v1.3h-2V9.5a.5.5 0 0 0-.5-.5H10v6.5a.5.5 0 0 0 .5.5h1.3v2h-1.3A2.5 2.5 0 0 1 8 15.5V14H6.5A2.5 2.5 0 0 1 4 11.5v-6ZM6.5 5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5H8V9.5A2.5 2.5 0 0 1 10.5 7H13V5.5a.5.5 0 0 0-.5-.5h-6Zm9.09 8.17L18 15.59l2.41-2.42 1.42 1.42L19.41 17l2.42 2.41-1.42 1.42L18 18.41l-2.41 2.42-1.42-1.42L16.59 17l-2.42-2.41 1.42-1.42Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 5.5A2.5 2.5 0 0 1 6.5 3h6A2.5 2.5 0 0 1 15 5.5V7h1.5A2.5 2.5 0 0 1 19 9.5v1.3h-2V9.5a.5.5 0 0 0-.5-.5H10v6.5a.5.5 0 0 0 .5.5h1.3v2h-1.3A2.5 2.5 0 0 1 8 15.5V14H6.5A2.5 2.5 0 0 1 4 11.5v-6ZM6.5 5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5H8V9.5A2.5 2.5 0 0 1 10.5 7H13V5.5a.5.5 0 0 0-.5-.5h-6Zm9.09 8.17L18 15.59l2.41-2.42 1.42 1.42L19.41 17l2.42 2.41-1.42 1.42L18 18.41l-2.41 2.42-1.42-1.42L16.59 17l-2.42-2.41 1.42-1.42Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

body:not(.login-active) .topbar-utility-cluster {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 0 18px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
}

body:not(.login-active) .topbar-utility-icons {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body:not(.login-active) .topbar-action-clock {
  color: rgba(226, 232, 240, 0.82) !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

body:not(.login-active) .topbar-profile {
  min-width: 126px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  background: transparent !important;
  border: 0 !important;
}

body:not(.login-active) .topbar-profile::after {
  display: none !important;
  content: none !important;
}

body:not(.login-active) .profile-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  background-color: #14b8a6 !important;
}

body:not(.login-active) .topbar-profile strong,
body:not(.login-active) .topbar-profile small {
  color: #ffffff !important;
  font-weight: 400 !important;
  text-align: left !important;
}

body:not(.login-active) .topbar-profile strong {
  font-size: 0.86rem !important;
}

body:not(.login-active) .topbar-profile small {
  font-size: 0.72rem !important;
  opacity: 0.86 !important;
}

body:not(.login-active) #dashboardView.active {
  min-height: calc(100vh - 154px) !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  min-height: calc(100vh - 154px) !important;
  padding: 46px 64px !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2 {
  margin: 46px 0 16px !important;
  font-weight: 800 !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2::before {
  content: "Início  >  Painel do Sistema" !important;
  margin: 0 0 52px !important;
  font-weight: 400 !important;
}

body.sidebar-collapsed:not(.login-active) .brand {
  justify-content: center !important;
  padding-inline: 0 !important;
}

body.sidebar-collapsed:not(.login-active) .nav-heading,
body.sidebar-collapsed:not(.login-active) .nav-button {
  justify-content: center !important;
  padding-inline: 0 !important;
}

body.sidebar-collapsed:not(.login-active) .nav-items,
body.sidebar-collapsed:not(.login-active) .nav-group.collapsed .nav-items {
  display: none !important;
}

body:not(.login-active) .app-shell {
  min-width: 0 !important;
  height: 100vh !important;
  overflow: auto !important;
  padding: 0 32px 34px !important;
  background: linear-gradient(180deg, #f9fbfc, #f6f9fb) !important;
}

body:not(.login-active) .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 18 !important;
  min-height: 78px !important;
  margin: 0 -32px 18px !important;
  padding: 10px 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 6px 22px rgba(16, 24, 40, 0.08) !important;
  color: var(--ink) !important;
}

body:not(.login-active) .topbar-left {
  min-width: 300px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

body:not(.login-active) .topbar-title,
body:not(.login-active) .logged-user {
  display: none !important;
}

body:not(.login-active) .topbar-user-summary {
  border-left: 0 !important;
  padding-left: 0 !important;
  display: grid !important;
  gap: 1px !important;
}

body:not(.login-active) .topbar-system-name {
  color: var(--brand-strong) !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) .welcome-message {
  color: #667085 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .topbar-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body:not(.login-active) .topbar-company-summary,
body:not(.login-active) .topbar-period-summary {
  min-width: 170px !important;
  height: 54px !important;
  padding: 6px 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  display: grid !important;
  align-content: center !important;
  background: #fff !important;
}

body:not(.login-active) .topbar-filter-label {
  color: #667085 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
}

body:not(.login-active) .company-label {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #101828 !important;
  background: transparent !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
}

body:not(.login-active) #backendStatusIndicator,
body:not(.login-active) #dataStatusBar {
  display: flex !important;
}

body:not(.login-active) .topbar-profile {
  min-width: 180px !important;
  padding-left: 10px !important;
  border-left: 1px solid var(--line) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body:not(.login-active) .profile-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: #10b981 !important;
  color: #ffffff !important;
}

body:not(.login-active) #dashboardView.active {
  min-height: auto !important;
  display: block !important;
  place-items: initial !important;
  padding: 0 !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  width: 100% !important;
  min-height: 360px !important;
  margin: 0 auto 18px !important;
  padding: 76px 24px 64px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
}

body:not(.login-active) #dashboardView .welcome-hero::before {
  content: "SWN" !important;
  position: absolute !important;
  inset: 36px 0 auto !important;
  color: rgba(15, 23, 42, 0.045) !important;
  font-size: clamp(8rem, 22vw, 18rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

body:not(.login-active) #dashboardView .welcome-hero span,
body:not(.login-active) #dashboardView .welcome-hero p {
  display: block !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2 {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  color: #0f172a !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) #dashboardView .welcome-hero i {
  position: relative !important;
  z-index: 1 !important;
  width: 64px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: #10b981 !important;
}

body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: grid !important;
}

body:not(.login-active) #dashboardView .shortcut-panel {
  margin-top: 8px !important;
}

/* Transformacao visual - cabecalho e marca conforme referencia */
body:not(.login-active) {
  grid-template-columns: 286px minmax(0, 1fr) !important;
}

body.sidebar-collapsed:not(.login-active) {
  grid-template-columns: 92px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  width: 286px !important;
  padding: 28px 18px 22px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(20, 184, 166, 0.22), transparent 34%),
    linear-gradient(180deg, #062033 0%, #07243a 46%, #05314b 100%) !important;
  box-shadow: 12px 0 36px rgba(4, 24, 39, 0.18) !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar {
  width: 92px !important;
  padding-inline: 14px !important;
}

body:not(.login-active) .brand {
  min-height: 72px !important;
  padding: 0 12px 28px !important;
  border-bottom: 0 !important;
  gap: 14px !important;
}

body:not(.login-active) .brand-mark.brand-symbol {
  width: 42px !important;
  height: 42px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  position: relative !important;
}

body:not(.login-active) .brand-mark.brand-symbol::before,
body:not(.login-active) .brand-mark.brand-symbol::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  clip-path: polygon(50% 0, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%) !important;
}

body:not(.login-active) .brand-mark.brand-symbol::before {
  background: linear-gradient(135deg, #2dd4bf, #00b3c7) !important;
  box-shadow: 0 14px 30px rgba(20, 184, 166, 0.22) !important;
}

body:not(.login-active) .brand-mark.brand-symbol::after {
  inset: 12px !important;
  background: #062033 !important;
}

body:not(.login-active) .brand strong {
  color: #ffffff !important;
  font-size: 1.58rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

body:not(.login-active) .brand small {
  display: none !important;
}

body:not(.login-active) .app-shell {
  padding: 0 0 34px !important;
  background:
    radial-gradient(circle at 76% 46%, rgba(15, 23, 42, 0.04), transparent 30%),
    linear-gradient(180deg, #f7fafc, #eef4f8) !important;
}

body:not(.login-active) .topbar {
  min-height: 126px !important;
  margin: 0 0 0 !important;
  padding: 22px 34px !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  background:
    radial-gradient(circle at 76% 0%, rgba(13, 148, 136, 0.12), transparent 28%),
    linear-gradient(135deg, #062033 0%, #061d31 54%, #082238 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 18px 38px rgba(7, 31, 50, 0.20) !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-left {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
}

body:not(.login-active) .topbar .icon-button#toggleSidebarBtn {
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: transparent !important;
  position: relative !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body:not(.login-active) .topbar .icon-button#toggleSidebarBtn::before {
  content: "" !important;
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  background: #ffffff !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 6h14v2H4V6Zm0 5h10v2H4v-2Zm0 5h16v2H4v-2Zm16-10h2v2h-2V6Zm-6 5h2v2h-2v-2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 6h14v2H4V6Zm0 5h10v2H4v-2Zm0 5h16v2H4v-2Zm16-10h2v2h-2V6Zm-6 5h2v2h-2v-2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

body:not(.login-active) .topbar-user-summary {
  display: grid !important;
  gap: 0 !important;
}

body:not(.login-active) .topbar-system-name {
  color: #ffffff !important;
  font-size: 1.18rem !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
}

body:not(.login-active) .topbar-user-summary {
  align-content: center !important;
}

body:not(.login-active) .topbar-profile strong,
body:not(.login-active) .topbar-profile small {
  font-weight: 400 !important;
}

body:not(.login-active) .brand strong {
  font-weight: 700 !important;
}

body:not(.login-active) .welcome-message,
body:not(.login-active) .logged-user {
  display: none !important;
}

body:not(.login-active) .topbar-actions {
  margin-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 26px !important;
}

body:not(.login-active) .topbar-period-summary,
body:not(.login-active) #backendStatusIndicator,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #logoutBtn,
body:not(.login-active) #seedBtn,
body:not(.login-active) #clearBtn,
body:not(.login-active) #dataStatusBar {
  display: none !important;
}

body:not(.login-active) .topbar-company-summary {
  min-width: 245px !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: grid !important;
  gap: 3px !important;
  background: transparent !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-filter-label {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 0.98rem !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

body:not(.login-active) #selectedCompanyLabel,
body:not(.login-active) .company-label {
  color: #18e0cb !important;
  font-size: 1.08rem !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

body:not(.login-active) .topbar-symbol-button,
body:not(.login-active) .topbar .status-notification {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  position: relative !important;
}

body:not(.login-active) .topbar-symbol-button:hover,
body:not(.login-active) .topbar .status-notification:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

body:not(.login-active) .topbar-symbol-button::before,
body:not(.login-active) .topbar .status-notification::before {
  content: "" !important;
  width: 29px !important;
  height: 29px !important;
  display: block !important;
  background: currentColor !important;
  mask-position: center !important;
  mask-repeat: no-repeat !important;
  mask-size: contain !important;
  -webkit-mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-size: contain !important;
}

body:not(.login-active) .topbar-search-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m21 19.6-4.7-4.7a7.5 7.5 0 1 0-1.4 1.4l4.7 4.7 1.4-1.4ZM4 10.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='m21 19.6-4.7-4.7a7.5 7.5 0 1 0-1.4 1.4l4.7 4.7 1.4-1.4ZM4 10.5a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z'/%3E%3C/svg%3E") !important;
}

body:not(.login-active) .topbar .status-notification::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 22a2.6 2.6 0 0 0 2.5-2h-5a2.6 2.6 0 0 0 2.5 2Zm7-6v-5a7 7 0 0 0-5-6.7V3a2 2 0 1 0-4 0v1.3A7 7 0 0 0 5 11v5l-2 2v1h18v-1l-2-2Zm-2 1H7l1-1v-5a5 5 0 1 1 10 0v5l1 1Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 22a2.6 2.6 0 0 0 2.5-2h-5a2.6 2.6 0 0 0 2.5 2Zm7-6v-5a7 7 0 0 0-5-6.7V3a2 2 0 1 0-4 0v1.3A7 7 0 0 0 5 11v5l-2 2v1h18v-1l-2-2Zm-2 1H7l1-1v-5a5 5 0 1 1 10 0v5l1 1Z'/%3E%3C/svg%3E") !important;
}

body:not(.login-active) .topbar-help-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 18h2v-2h-2v2Zm1-16a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-14a4 4 0 0 0-4 4h2a2 2 0 1 1 2 2c-1.7 0-3 1.3-3 3v1h2v-1c0-.6.4-1 1-1a4 4 0 0 0 0-8Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M11 18h2v-2h-2v2Zm1-16a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-14a4 4 0 0 0-4 4h2a2 2 0 1 1 2 2c-1.7 0-3 1.3-3 3v1h2v-1c0-.6.4-1 1-1a4 4 0 0 0 0-8Z'/%3E%3C/svg%3E") !important;
}

body:not(.login-active) #statusNotificationText {
  display: none !important;
}

body:not(.login-active) .status-dot-alert {
  position: absolute !important;
  top: 6px !important;
  right: 5px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: #14d7c2 !important;
}

body:not(.login-active) .topbar-profile {
  min-width: 0 !important;
  padding-left: 28px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.18) !important;
  display: grid !important;
  grid-template-columns: 62px auto 18px !important;
  align-items: center !important;
  column-gap: 12px !important;
  color: #ffffff !important;
}

body:not(.login-active) .topbar-profile::after {
  content: "" !important;
  width: 11px !important;
  height: 7px !important;
  background: #ffffff !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M1.4.8 6 5.2 10.6.8 12 2.2 6 8 0 2.2 1.4.8Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M1.4.8 6 5.2 10.6.8 12 2.2 6 8 0 2.2 1.4.8Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

body:not(.login-active) .profile-avatar {
  width: 62px !important;
  height: 62px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #14b8a6, #18d2c0) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(20, 184, 166, 0.28) !important;
}

body:not(.login-active) .profile-avatar::before {
  content: "AD" !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 1.28rem !important;
  font-weight: 900 !important;
  mask: none !important;
  -webkit-mask: none !important;
}

body:not(.login-active) .topbar-profile strong {
  color: #ffffff !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

body:not(.login-active) .topbar-profile small {
  margin-top: 8px !important;
  display: block !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
}

body:not(.login-active) .workspace-tabs {
  margin: 0 !important;
  padding: 0 32px !important;
  min-height: 58px !important;
  align-items: end !important;
  background: #f8fafc !important;
}

/* Organizacao do cabecalho superior */
body:not(.login-active) .topbar {
  min-height: 86px !important;
  padding: 14px 24px !important;
  grid-template-columns: minmax(320px, 1fr) auto !important;
  gap: 28px !important;
}

body:not(.login-active) .topbar-left {
  gap: 26px !important;
}

body:not(.login-active) .topbar .icon-button#toggleSidebarBtn {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 8px !important;
}

body:not(.login-active) .topbar .icon-button#toggleSidebarBtn::before {
  width: 22px !important;
  height: 22px !important;
}

body:not(.login-active) .topbar-system-name {
  font-size: 1.04rem !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
}

body:not(.login-active) .topbar-header-company {
  display: block !important;
  margin-top: 5px !important;
  color: #ffffff !important;
  font-size: 0.88rem !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
}

body:not(.login-active) .topbar-actions {
  gap: 22px !important;
}

body:not(.login-active) .topbar-company-summary {
  display: none !important;
}

body:not(.login-active) .topbar-filter-label {
  font-size: 0.84rem !important;
  font-weight: 400 !important;
}

body:not(.login-active) #selectedCompanyLabel,
body:not(.login-active) .company-label {
  font-size: 0.92rem !important;
  font-weight: 600 !important;
}

body:not(.login-active) .topbar-symbol-button,
body:not(.login-active) .topbar .status-notification {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
}

body:not(.login-active) .topbar-symbol-button::before,
body:not(.login-active) .topbar .status-notification::before {
  width: 23px !important;
  height: 23px !important;
}

body:not(.login-active) .status-dot-alert {
  top: 3px !important;
  right: 2px !important;
  width: 8px !important;
  height: 8px !important;
}

body:not(.login-active) .topbar-profile {
  grid-template-columns: 56px 14px !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px !important;
  row-gap: 5px !important;
  padding-left: 20px !important;
  justify-items: center !important;
}

body:not(.login-active) .profile-avatar {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 46px !important;
  height: 46px !important;
}

body:not(.login-active) .profile-avatar::before {
  font-size: 1rem !important;
}

body:not(.login-active) .topbar-profile strong {
  grid-column: 1 !important;
  grid-row: 2 !important;
  font-size: 0.86rem !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

body:not(.login-active) .topbar-profile small {
  grid-column: 1 !important;
  grid-row: 3 !important;
  margin-top: 0 !important;
  font-size: 0.72rem !important;
  text-align: center !important;
}

body:not(.login-active) .topbar-profile > div {
  grid-column: 1 !important;
  grid-row: 2 / span 2 !important;
  display: grid !important;
  justify-items: center !important;
}

body:not(.login-active) .topbar-profile::after {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

/* Correcao final: usuario somente abaixo do avatar */
body:not(.login-active) #loggedUser,
body:not(.login-active) .logged-user,
body:not(.login-active) #welcomeMessage,
body:not(.login-active) .welcome-message {
  display: none !important;
}

body:not(.login-active) .topbar {
  min-height: 104px !important;
}

body:not(.login-active) .topbar-profile {
  min-width: 104px !important;
  padding-left: 22px !important;
  padding-right: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  position: relative !important;
}

body:not(.login-active) .topbar-profile .profile-avatar {
  flex: 0 0 auto !important;
  width: 48px !important;
  height: 48px !important;
}

body:not(.login-active) .topbar-profile > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
}

body:not(.login-active) .topbar-profile strong,
body:not(.login-active) .topbar-profile small {
  display: block !important;
  color: #ffffff !important;
  text-align: center !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  max-width: 104px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body:not(.login-active) .topbar-profile strong {
  font-size: 0.8rem !important;
  font-weight: 400 !important;
}

body:not(.login-active) .topbar-profile small {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  opacity: 0.95 !important;
}

body:not(.login-active) .topbar-profile::after {
  position: absolute !important;
  right: 0 !important;
  top: 30px !important;
}

/* Cabecalho: empresa com CNPJ e sair por icone */
body:not(.login-active) .topbar-system-name {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

body:not(.login-active) .topbar-header-company {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  max-width: min(620px, 46vw) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body:not(.login-active) #logoutBtn.topbar-logout-icon {
  display: grid !important;
}

body:not(.login-active) .topbar-logout-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 3h9v2H6v14h7v2H4V3Zm12.6 4.4 5 4.6-5 4.6-1.4-1.5 2.4-2.1H10v-2h7.6l-2.4-2.1 1.4-1.5Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 3h9v2H6v14h7v2H4V3Zm12.6 4.4 5 4.6-5 4.6-1.4-1.5 2.4-2.1H10v-2h7.6l-2.4-2.1 1.4-1.5Z'/%3E%3C/svg%3E") !important;
}

/* Ordem final dos icones do cabecalho */
body:not(.login-active) #topbarSearchBtn {
  order: 1 !important;
}

body:not(.login-active) #statusNotificationBtn {
  order: 2 !important;
}

body:not(.login-active) #topbarHelpBtn {
  order: 3 !important;
}

body:not(.login-active) #logoutBtn.topbar-logout-icon {
  order: 4 !important;
  margin-left: 8px !important;
  padding-left: 16px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 0 !important;
}

body:not(.login-active) .topbar-profile {
  order: 5 !important;
  margin-left: 10px !important;
}

body:not(.login-active) .topbar-profile::after {
  display: none !important;
  content: none !important;
}

/* Status do sistema logo abaixo da ultima opcao do menu */
body:not(.login-active) .module-nav {
  flex: 0 0 auto !important;
  padding-bottom: 18px !important;
  border-bottom: 0 !important;
}

body:not(.login-active) .sidebar-status {
  order: 2 !important;
  margin: 8px 8px 0 8px !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

/* Forcar status imediatamente apos o menu */
body:not(.login-active) .sidebar {
  justify-content: flex-start !important;
}

body:not(.login-active) .module-nav {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
}

body:not(.login-active) .sidebar-status {
  flex: 0 0 auto !important;
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  align-self: stretch !important;
}

/* Cadastro de usuario: foto, nascimento e ativo em switch */
.user-photo-field {
  gap: 10px !important;
}

.user-photo-editor {
  display: flex;
  align-items: center;
  gap: 16px;
}

.user-photo-preview {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #e6fffb;
  color: #0f766e;
  border: 1px solid #c7f3e8;
}

.user-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.user-photo-preview .swn-icon::before {
  width: 34px;
  height: 34px;
}

.user-photo-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.user-photo-actions small {
  flex-basis: 100%;
  color: #64748b;
  font-size: 0.78rem;
}

.user-photo-upload input {
  display: none;
}

.switch-field {
  align-content: start;
}

.swn-switch {
  width: 48px;
  height: 28px;
  position: relative;
  display: inline-grid;
  align-items: center;
  cursor: pointer;
}

.swn-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.swn-switch span {
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #cbd5e1;
  position: relative;
  transition: background 160ms ease;
}

.swn-switch span::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
  transition: transform 160ms ease;
}

.swn-switch input:checked + span {
  background: #14b8a6;
}

.swn-switch input:checked + span::before {
  transform: translateX(20px);
}

#recordDialog[data-collection="processosIntegracao"] .parameter-toggle-field {
  align-content: end;
}

#recordDialog[data-collection="processosIntegracao"] .parameter-toggle-field .swn-switch {
  margin-top: 2px;
}

body:not(.login-active) .profile-avatar.has-photo {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#recordDialog[data-collection="solicitacaoCompras"],
#recordDialog[data-collection="movimentoFolha"] {
  width: calc(100vw - 18px);
  height: calc(100vh - 18px);
  max-width: none;
  max-height: none;
  background: #dfe6ec;
}

#recordDialog[data-collection="solicitacaoCompras"] #recordForm,
#recordDialog[data-collection="movimentoFolha"] #recordForm {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  background: #dfe6ec;
}

#recordDialog[data-collection="solicitacaoCompras"] #formFields,
#recordDialog[data-collection="movimentoFolha"] #formFields {
  min-height: 0;
  overflow: auto;
  align-content: start;
}

#recordDialog[data-collection="solicitacaoCompras"] .purchase-total-field {
  grid-column: 1 / -1;
  justify-self: end;
  width: min(300px, 100%);
}

#recordDialog[data-collection="solicitacaoCompras"] .purchase-total-display {
  font-weight: 800;
  text-align: right;
}

#recordDialog[data-collection="solicitacaoCompras"] #formFields,
#recordDialog[data-collection="movimentoFolha"] #formFields {
  background: #dfe6ec;
}

#recordDialog[data-collection="solicitacaoCompras"] .form-grid {
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  gap: 10px 14px;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.clientWide,
#recordDialog[data-collection="solicitacaoCompras"] .field.xwide {
  grid-column: span 3;
}

#recordDialog[data-collection="solicitacaoCompras"] .purchase-project-field .readonly-field {
  overflow: hidden;
  text-overflow: ellipsis;
}

#recordDialog[data-collection="solicitacaoCompras"] .form-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px 12px;
  align-items: end;
}

#recordDialog[data-collection="solicitacaoCompras"] .field {
  grid-column: span 4;
  min-width: 0;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEmpresa {
  grid-column: 1 / 5;
  grid-row: 1;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseFilial {
  grid-column: 5 / 9;
  grid-row: 1;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseNumero {
  grid-column: 9 / 13;
  grid-row: 1;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseCentro {
  grid-column: 1 / 5;
  grid-row: 2;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseProjeto {
  grid-column: 5 / 9;
  grid-row: 2;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEstoque {
  grid-column: 9 / 13;
  grid-row: 2;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseStatusField {
  grid-column: 1 / 3;
  grid-row: 3;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseCliente {
  grid-column: 5 / 9;
  grid-row: 3;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseDepartamento {
  grid-column: 9 / 13;
  grid-row: 3;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEmissao {
  grid-column: 1 / 3;
  grid-row: 4;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEntrada {
  grid-column: 3 / 5;
  grid-row: 4;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseTipoOperacao {
  grid-column: 5 / 9;
  grid-row: 4;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseTipoFaturamento {
  grid-column: 9 / 13;
  grid-row: 4;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseSolicitante {
  grid-column: 1 / 5;
  grid-row: 5;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.purchaseComprador {
  grid-column: 5 / 9;
  grid-row: 5;
}

#recordDialog[data-collection="solicitacaoCompras"] .purchase-total-field {
  display: grid !important;
  grid-column: 9 / 11;
  grid-row: 5;
  justify-self: stretch;
  width: 100%;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.full {
  grid-column: 1 / -1;
}

#recordDialog[data-collection="solicitacaoCompras"] .field.full:has(textarea) {
  grid-row: 6;
}

#recordDialog[data-collection="solicitacaoCompras"] textarea {
  min-height: 76px;
}

@media (max-width: 1100px) {
  #recordDialog[data-collection="solicitacaoCompras"] .form-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }

  #recordDialog[data-collection="solicitacaoCompras"] .field,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEmpresa,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseFilial,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseNumero,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseCentro,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseProjeto,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEstoque,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseStatusField,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseCliente,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseDepartamento,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEmissao,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseEntrada,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseTipoOperacao,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseTipoFaturamento,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseSolicitante,
  #recordDialog[data-collection="solicitacaoCompras"] .field.purchaseComprador,
  #recordDialog[data-collection="solicitacaoCompras"] .purchase-total-field,
  #recordDialog[data-collection="solicitacaoCompras"] .field.full {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

#recordDialog[data-collection="centrosCusto"] {
  width: min(960px, 96vw);
}

#recordDialog[data-collection="centrosCusto"] .form-grid {
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 14px 18px;
}

#recordDialog[data-collection="centrosCusto"] .field {
  min-width: 0;
}

#recordDialog[data-collection="centrosCusto"] .field.costThird {
  grid-column: span 2;
}

#recordDialog[data-collection="centrosCusto"] .field.costCode {
  grid-column: span 2;
}

#recordDialog[data-collection="centrosCusto"] .field.costName {
  grid-column: span 4;
}

#recordDialog[data-collection="centrosCusto"] .field.costHalf {
  grid-column: span 3;
}

#recordDialog[data-collection="centrosCusto"] .field.full {
  grid-column: 1 / -1;
}

#recordDialog[data-collection="centrosCusto"] .cost-center-project-field select {
  min-width: 0;
}

#recordDialog[data-collection="centrosCusto"] .cost-client-section {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 18px;
  border: 1px solid #dce5ef;
  border-radius: 10px;
}

.cost-client-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}

.cost-client-section-heading h3 { margin: 0; font-size: 16px; }
.cost-client-copy-note { margin: 0 0 16px; color: #52647a; font-size: 13px; }
.responsible-signature-cell { min-width: 200px; max-width: 260px; }
.responsible-signature-cell img { display: block; max-width: 180px; max-height: 65px; object-fit: contain; margin-bottom: 8px; background: #fff; border: 1px solid #dce5ef; }
.responsible-signature-cell > label, .responsible-signature-cell > button { display: block; margin: 5px 0; }
.responsible-signature-cell input[type="file"] { display: block; max-width: 210px; font-size: 12px; margin-top: 5px; }
.signature-editor { width: min(960px, 94vw); max-height: 90vh; overflow-y: auto; padding: 20px; border: 1px solid #cbd5e1; border-radius: 12px; }
.signature-editor::backdrop { background: rgb(15 23 42 / 55%); }
.signature-editor header, .signature-editor footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.signature-editor header h3 { margin: 0; }
.approval-mode-dialog { width: min(620px, 94vw); padding: 24px; border: 1px solid #cbd5e1; border-radius: 12px; }
.approval-mode-dialog::backdrop { background: rgb(15 23 42 / 50%); }
.approval-mode-dialog label { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; }
.approval-mode-dialog footer { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.purchase-order-actions-options .approval-client-button { display: flex; justify-content: space-between; gap: 14px; }
.approval-stage-status { border-radius: 12px; background: #edf2f7; color: #334155; padding: 3px 8px; font-size: 11px; white-space: nowrap; }
.order-dialog-panel[data-order-dialog-panel="signedPdf"] form { display: grid; gap: 18px; padding: 18px 0; }
.order-dialog-panel[data-order-dialog-panel="signedPdf"] form label { display: flex; flex-wrap: wrap; gap: 10px; }
.order-dialog-panel[data-order-dialog-panel="signedPdf"] [role="status"] { white-space: pre-wrap; }
.signature-editor footer { justify-content: flex-end; margin-top: 18px; flex-wrap: wrap; }
.signature-editor-images, .signature-editor-crop { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 16px 0; }
.signature-editor-images canvas { display: block; max-width: 100%; max-height: 260px; object-fit: contain; margin: 10px auto; }
.signature-preview-background { background: repeating-conic-gradient(#e5e7eb 0% 25%, #fff 0% 50%) 0 / 20px 20px; padding: 8px; min-height: 160px; display: flex; align-items: center; }
.signature-editor-crop label, .signature-sensitivity { display: grid; gap: 6px; }
.signature-editor input[type="range"] { width: 100%; }
.signature-editor [data-signature-editor-error] { color: #b91c1c; min-height: 20px; }
@media (max-width: 640px) { .signature-editor-images, .signature-editor-crop { grid-template-columns: minmax(0, 1fr); } }
.cost-client-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px 16px; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid .field { grid-column: span 6; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field$="Nome"],
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field$="Endereco"],
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="instrucoesNotaFiscal"] { grid-column: 1 / -1; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field$="Bairro"],
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field$="Cep"],
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field$="Telefone"] { grid-column: span 4; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field$="Uf"] { grid-column: span 2; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="contratanteCidade"] { grid-column: span 6; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="obraCno"] { grid-column: span 8; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="clienteFaturamentoContato"] { grid-column: span 4; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="contratanteContato"] { grid-column: span 8; }
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="clienteFaturamentoEmail"],
#recordDialog[data-collection="centrosCusto"] .cost-client-grid [data-cost-client-field="contratanteEmail"] { grid-column: 1 / -1; }
.cost-client-grid input, .cost-client-grid select, .cost-client-grid textarea { width: 100%; min-width: 0; box-sizing: border-box; }

.movement-filters-dialog { width: min(920px, 94vw); max-height: 90vh; overflow-y: auto; border: 1px solid #dce5ef; border-radius: 12px; padding: 22px; }
.movement-filters-dialog::backdrop { background: rgb(15 23 42 / 45%); }
.movement-filters-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.movement-filters-grid > label { display: grid; gap: 6px; min-width: 0; }
.movement-filters-grid fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; border: 1px solid #dce5ef; border-radius: 8px; padding: 10px; }
.movement-filters-grid fieldset label { display: grid; gap: 6px; min-width: 0; }
.movement-filters-grid input, .movement-filters-grid select { width: 100%; min-width: 0; box-sizing: border-box; }
.movement-filters-dialog [data-filter-error] { color: #b91c1c; }
.records-grid, .os-layout-panel { min-width: 0; max-width: 100%; }
.records-grid .table-wrap, #osList .table-wrap, #movimentoFolhaList .table-wrap, #purchaseRequestList .table-wrap {
  max-width: 100%; overflow-x: auto; scrollbar-gutter: stable; overscroll-behavior-x: contain;
}
.records-grid .table-wrap > table, #osList .table-wrap > table, #movimentoFolhaList .table-wrap > table, #purchaseRequestList .table-wrap > table {
  width: max-content; min-width: 100%; table-layout: auto;
}
.purchase-order-grid .purchase-order-table th, .purchase-order-grid .purchase-order-table td { white-space: nowrap; }
.purchase-movement-pagination { flex-wrap: wrap; gap: 12px; }
@media (max-width: 680px) { .movement-filters-grid { grid-template-columns: minmax(0, 1fr); } }

@media (max-width: 680px) {
  #recordDialog[data-collection="centrosCusto"] .cost-client-grid .field[data-cost-client-field] { grid-column: 1 / -1; }
  #recordDialog[data-collection="centrosCusto"] .cost-client-section { padding: 12px; }
  .cost-client-section-heading button { width: 100%; }
}

@media (max-width: 860px) {
  #recordDialog[data-collection="centrosCusto"] .form-grid {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  #recordDialog[data-collection="centrosCusto"] .field.costThird,
  #recordDialog[data-collection="centrosCusto"] .field.costCode,
  #recordDialog[data-collection="centrosCusto"] .field.costName,
  #recordDialog[data-collection="centrosCusto"] .field.costHalf,
  #recordDialog[data-collection="centrosCusto"] .field.full {
    grid-column: 1 / -1;
  }
}

#recordDialog[data-collection="solicitacaoCompras"] input:disabled,
#recordDialog[data-collection="solicitacaoCompras"] select:disabled,
#recordDialog[data-collection="solicitacaoCompras"] textarea:disabled,
#recordDialog[data-collection="solicitacaoCompras"] .readonly-field,
#recordDialog[data-collection="movimentoFolha"] input:disabled,
#recordDialog[data-collection="movimentoFolha"] select:disabled,
#recordDialog[data-collection="movimentoFolha"] textarea:disabled,
#recordDialog[data-collection="movimentoFolha"] .readonly-field {
  background: #e5ebef;
  color: #475569;
  cursor: not-allowed;
}

#recordDialog[data-collection="solicitacaoCompras"] .lookup-search-button:disabled,
#recordDialog[data-collection="movimentoFolha"] .lookup-search-button:disabled {
  opacity: 0.58;
  cursor: not-allowed;
}

#recordDialog[data-collection="movimentoFolha"] .dialog-header,
#recordDialog[data-collection="movimentoFolha"] .dialog-tabs {
  margin-bottom: 12px;
}

#recordDialog[data-collection="movimentoFolha"] .form-grid {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 10px 12px;
  align-content: start;
}

#recordDialog[data-collection="movimentoFolha"] .field {
  grid-column: span 2;
}

#recordDialog[data-collection="movimentoFolha"] .field.payrollCell {
  grid-column: span 2;
}

#recordDialog[data-collection="movimentoFolha"] .field.payrollDouble {
  grid-column: span 4;
}

#recordDialog[data-collection="movimentoFolha"] .field.full {
  grid-column: 1 / -1;
}

#recordDialog[data-collection="movimentoFolha"] textarea {
  min-height: 92px;
}

#recordDialog[data-collection="movimentoFolha"] .items-editor,
#recordDialog[data-collection="movimentoFolha"] .apontamento-editor,
#recordDialog[data-collection="movimentoFolha"] .integration-editor {
  overflow: auto;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-product {
  width: 42%;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-quantity {
  width: 10%;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-unit {
  width: 7%;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-price,
#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-total {
  width: 13%;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-rateio {
  width: 9%;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid .item-col-actions {
  width: 6%;
}

#recordDialog[data-collection="movimentoFolha"] .items-grid input {
  min-width: 0;
}

#recordDialog[data-collection="movimentoFolha"] .item-col-rateio .item-rateio-indicator {
  width: 100%;
  min-width: 0;
  padding-inline: 8px;
}

#recordDialog[data-collection="movimentoFolha"] .item-actions {
  justify-content: center;
}

.payroll-rateio-dialog {
  width: min(980px, calc(100vw - 28px));
  height: min(680px, calc(100vh - 28px));
}

.payroll-rateio-dialog form {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
  overflow: hidden;
}

.rateio-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
}

.rateio-summary div {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.rateio-summary span,
.rateio-summary strong {
  display: block;
}

.rateio-summary span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.rateio-summary strong {
  margin-top: 4px;
  color: var(--ink);
  font-size: 1rem;
}

.rateio-toolbar {
  display: flex;
  justify-content: flex-end;
}

.rateio-grid-wrap {
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.rateio-grid {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.rateio-grid th:nth-child(1),
.rateio-grid td:nth-child(1) {
  width: 58%;
}

.rateio-grid th:nth-child(2),
.rateio-grid td:nth-child(2) {
  width: 18%;
}

.rateio-grid th:nth-child(3),
.rateio-grid td:nth-child(3) {
  width: 16%;
}

.rateio-grid th:nth-child(4),
.rateio-grid td:nth-child(4) {
  width: 8%;
  text-align: center;
}

.rateio-grid th,
.rateio-grid td {
  padding: 9px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.rateio-grid th {
  position: sticky;
  top: 0;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 0.74rem;
  text-transform: uppercase;
  z-index: 1;
}

.rateio-grid select,
.rateio-grid input {
  width: 100%;
}

.payroll-rateio-lookup-picker {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 42px;
  gap: 8px;
  align-items: center;
}

.payroll-rateio-lookup-picker input {
  min-width: 0;
}

.payroll-rateio-lookup-picker .lookup-search-button {
  width: 42px;
  height: 42px;
}

.rateio-message {
  min-height: 24px;
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.rateio-message.error {
  color: #b91c1c;
}

.item-rateio-indicator {
  min-width: 92px;
  justify-content: center;
}

.purchase-layout-panel {
  padding-top: 18px;
}

.purchase-layout-panel > h2 {
  margin-bottom: 14px;
}

.purchase-actions-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  margin: 0 0 12px;
  padding: 0;
}

.purchase-actions-bar .ghost-button,
.purchase-actions-bar .primary-button {
  min-height: 40px;
  white-space: nowrap;
}

.purchase-actions-spacer {
  flex: 1 1 auto;
  min-width: 16px;
}

.purchase-filter-toolbar {
  min-height: auto;
  margin: 0 0 12px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(160px, 1fr));
  gap: 12px;
  border: 1px solid #d8e4ee;
  border-radius: 8px;
  background: #f8fbfd;
}

.purchase-filter-toolbar .os-status-field input,
.purchase-filter-toolbar .os-status-field select {
  min-height: 42px;
  border: 1px solid #dbe4ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 700;
}

.purchase-page-size-field {
  margin-left: 0;
}

.purchase-filter-toolbar.hidden {
  display: none !important;
}

.purchase-grid {
  margin-top: 0;
}

@media (max-width: 1280px) {
  .purchase-filter-toolbar {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .purchase-search-box {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .purchase-filter-toolbar {
    grid-template-columns: 1fr;
  }

  .purchase-search-box {
    grid-column: auto;
  }
}

.purchase-request-table th,
.purchase-request-table td {
  white-space: nowrap;
}

body:not(.login-active) .profile-avatar.has-photo::before {
  content: "" !important;
}

/* Ajuste fino do menu lateral */
body:not(.login-active) .nav-heading {
  min-height: 56px !important;
  padding: 12px 12px !important;
  font-size: 1.02rem !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

body:not(.login-active) .nav-button {
  min-height: 46px !important;
  padding: 10px 12px 10px 46px !important;
  font-size: 0.96rem !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
}

body:not(.login-active) .accordion-mark {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  opacity: 0.9 !important;
}

body:not(.login-active) .accordion-mark::before {
  content: "" !important;
  text-indent: 0 !important;
  width: 9px !important;
  height: 6px !important;
  display: block !important;
  background: #dbeafe !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M1.4.7 6 5.1 10.6.7 12 2.1 6 8 0 2.1 1.4.7Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M1.4.7 6 5.1 10.6.7 12 2.1 6 8 0 2.1 1.4.7Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

body:not(.login-active) .nav-group.expanded > .nav-heading .accordion-mark::before {
  transform: rotate(180deg) !important;
}

/* Menu lateral sem setas de expansao */
body:not(.login-active) .accordion-mark,
body:not(.login-active) .accordion-mark::before,
body:not(.login-active) .accordion-mark::after,
body.sidebar-collapsed:not(.login-active) .accordion-mark {
  display: none !important;
  content: none !important;
}

/* Correcao de sobreposicao dos submenus laterais */
body:not(.login-active) .module-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 4px 10px 0 !important;
}

body:not(.login-active) .nav-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-height: auto !important;
  position: static !important;
}

body:not(.login-active) .nav-heading {
  flex: 0 0 auto !important;
  position: relative !important;
  min-height: 52px !important;
  margin: 0 !important;
  z-index: 1 !important;
}

body:not(.login-active) .nav-items,
body:not(.login-active) .nav-group.expanded .nav-items {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 6px 0 8px 40px !important;
  padding: 0 0 0 14px !important;
  border-left: 1px solid rgba(45, 212, 191, 0.28) !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}

body:not(.login-active) .nav-group.collapsed .nav-items {
  display: none !important;
}

body:not(.login-active) .nav-button {
  position: relative !important;
  min-height: 36px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  overflow: visible !important;
}

body:not(.login-active) .nav-button .nav-icon {
  display: none !important;
}

/* Barra lateral e cabecalho rolam com a pagina */
body:not(.login-active) {
  overflow: auto !important;
}

body:not(.login-active) .sidebar {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: 100vh !important;
  align-self: stretch !important;
}

body:not(.login-active) .app-shell {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

body:not(.login-active) .topbar {
  position: relative !important;
  top: auto !important;
}

/* Tela principal limpa: sem cards e sem acesso rapido */
body:not(.login-active) #dashboardView.active {
  min-height: calc(100vh - 126px) !important;
  display: block !important;
  padding: 0 !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  min-height: calc(100vh - 126px) !important;
  margin: 0 !important;
  padding: 72px 64px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  background:
    radial-gradient(circle at 78% 48%, rgba(15, 23, 42, 0.035), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #eef4f8 100%) !important;
}

body:not(.login-active) #dashboardView .welcome-hero::before {
  content: "WN" !important;
  inset: 250px 64px auto auto !important;
  width: auto !important;
  color: rgba(15, 23, 42, 0.055) !important;
  font-size: clamp(13rem, 28vw, 28rem) !important;
  line-height: 0.78 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) #dashboardView .welcome-hero span {
  display: none !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2 {
  margin: 86px 0 18px !important;
  color: #0f172a !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

body:not(.login-active) #dashboardView .welcome-hero h2::before {
  content: "Inicio  >  Painel do Sistema" !important;
  display: block !important;
  margin: 0 0 74px !important;
  color: #64748b !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}

body:not(.login-active) #dashboardView .welcome-hero p {
  display: block !important;
  max-width: 650px !important;
  margin: 0 0 32px !important;
  color: #64748b !important;
  font-size: 1.02rem !important;
  line-height: 1.6 !important;
}

body:not(.login-active) #dashboardView .welcome-hero i {
  width: 200px !important;
  height: 5px !important;
  margin: 0 !important;
  background: #14b8a6 !important;
}

body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: none !important;
}

/* Conter tabelas largas sem deslocar o cabecalho */
html,
body:not(.login-active) {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body:not(.login-active) .app-shell {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body:not(.login-active) .topbar,
body:not(.login-active) .workspace-tabs,
body:not(.login-active) .view {
  max-width: 100% !important;
  min-width: 0 !important;
}

body:not(.login-active) .view.active,
body:not(.login-active) .panel,
body:not(.login-active) .list-view,
body:not(.login-active) .records-panel {
  min-width: 0 !important;
  max-width: 100% !important;
}

body:not(.login-active) .table-wrap,
body:not(.login-active) .os-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
}

body:not(.login-active) .os-table,
body:not(.login-active) .data-table {
  width: max-content !important;
  min-width: 100% !important;
}

/* Redimensionamento do menu para submenus longos */
body:not(.login-active) {
  grid-template-columns: 318px minmax(0, 1fr) !important;
}

body:not(.login-active) .sidebar {
  width: 318px !important;
  min-height: 100vh !important;
  padding: 28px 16px 20px 22px !important;
}

body:not(.login-active) .module-nav {
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
  padding: 0 0 14px 0 !important;
  scrollbar-width: none !important;
}

body:not(.login-active) .module-nav::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

body:not(.login-active) .nav-heading {
  padding-right: 10px !important;
}

body:not(.login-active) .nav-items,
body:not(.login-active) .nav-group.expanded .nav-items {
  margin-left: 44px !important;
  width: calc(100% - 48px) !important;
  padding-left: 16px !important;
  padding-right: 0 !important;
}

body:not(.login-active) .nav-button {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 4px !important;
  font-size: 0.92rem !important;
  overflow-wrap: anywhere !important;
}

body:not(.login-active) .sidebar-status {
  position: relative !important;
  margin-top: 18px !important;
  padding-top: 18px !important;
  background: transparent !important;
}

body.sidebar-collapsed:not(.login-active) {
  grid-template-columns: 92px minmax(0, 1fr) !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar {
  width: 92px !important;
}

/* Organizacao final da barra lateral */
body:not(.login-active) {
  align-items: stretch !important;
}

body:not(.login-active) .sidebar {
  position: relative !important;
  align-self: stretch !important;
  min-height: 100% !important;
  isolation: isolate !important;
}

body:not(.login-active) .sidebar::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, #14b8a6, #10b981) !important;
  z-index: 0 !important;
}

body:not(.login-active) .brand,
body:not(.login-active) .sidebar-status,
body:not(.login-active) .module-nav {
  position: relative !important;
  z-index: 1 !important;
}

body:not(.login-active) .brand {
  order: 0 !important;
  padding-bottom: 24px !important;
}

body:not(.login-active) .sidebar-status {
  order: 3 !important;
  margin: auto 8px 0 8px !important;
  padding: 22px 0 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  gap: 12px !important;
  align-items: start !important;
}

body:not(.login-active) .sidebar-online,
body:not(.login-active) .sidebar-clock,
body:not(.login-active) .sidebar-version {
  min-height: 24px !important;
  padding-inline: 0 !important;
  color: #ffffff !important;
  font-size: 0.84rem !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

body:not(.login-active) .sidebar-online span {
  flex: 0 0 auto !important;
  width: 12px !important;
  height: 12px !important;
}

body:not(.login-active) .sidebar-version {
  padding-left: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
}

body:not(.login-active) .sidebar-online.online span {
  background: #10b981 !important;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12) !important;
}

body:not(.login-active) .sidebar-online.offline span {
  background: #ef4444 !important;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.14) !important;
}

body:not(.login-active) .module-nav {
  order: 1 !important;
  flex: 1 1 auto !important;
  padding-bottom: 22px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body:not(.login-active) .nav-heading {
  grid-template-columns: auto 1fr !important;
  padding-right: 12px !important;
}

body:not(.login-active) .nav-heading span:not(.nav-icon) {
  margin-right: 0 !important;
}

body:not(.login-active) .nav-heading .accordion-mark,
body:not(.login-active) .accordion-mark,
body:not(.login-active) .accordion-mark::before,
body:not(.login-active) .accordion-mark::after {
  display: none !important;
}

body.sidebar-collapsed:not(.login-active) .sidebar-status {
  display: none !important;
}

@media (max-width: 1180px) {
  .fiscal-piscofins-efd-summary {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  .fiscal-piscofins-matrix-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .fiscal-piscofins-efd-summary,
  .fiscal-piscofins-retention-grid,
  .fiscal-piscofins-summary-grid {
    grid-template-columns: 1fr;
  }

  .fiscal-piscofins-matrix-group summary {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .fiscal-piscofins-matrix-group summary b {
    text-align: left;
  }

  .fiscal-piscofins-matrix-group summary span:nth-of-type(n + 3),
  .fiscal-piscofins-matrix-group summary b {
    justify-self: start;
  }
}

/* Correcao definitiva do cabecalho: data/hora na segunda linha abaixo dos icones */
body:not(.login-active) .topbar-actions {
  display: grid !important;
  grid-template-columns: repeat(5, 48px) minmax(116px, auto) !important;
  grid-template-rows: 42px 18px !important;
  align-items: center !important;
  justify-content: end !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
  min-width: 0 !important;
}

body:not(.login-active) #topbarSearchBtn,
body:not(.login-active) #statusNotificationBtn,
body:not(.login-active) #closeAllTabsBtn,
body:not(.login-active) #topbarHelpBtn,
body:not(.login-active) #logoutBtn.topbar-logout-icon {
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
  border-radius: 10px !important;
}

body:not(.login-active) #topbarSearchBtn {
  grid-column: 1 !important;
  order: initial !important;
}

body:not(.login-active) #statusNotificationBtn {
  grid-column: 2 !important;
  order: initial !important;
}

body:not(.login-active) #closeAllTabsBtn {
  grid-column: 3 !important;
  order: initial !important;
  display: grid !important;
}

body:not(.login-active) #topbarHelpBtn {
  grid-column: 4 !important;
  order: initial !important;
}

body:not(.login-active) #logoutBtn.topbar-logout-icon {
  grid-column: 5 !important;
  order: initial !important;
}

body:not(.login-active) #topbarActionClock {
  grid-column: 2 / 6 !important;
  grid-row: 2 !important;
  order: initial !important;
  align-self: start !important;
  justify-self: center !important;
  display: block !important;
  margin: -3px 0 0 !important;
  padding: 0 !important;
  border-left: 0 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.66rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body:not(.login-active) .topbar-profile {
  grid-column: 6 !important;
  grid-row: 1 / 3 !important;
  order: initial !important;
  align-self: stretch !important;
  justify-self: end !important;
  margin: 0 0 0 14px !important;
  padding-left: 24px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.16) !important;
}

/* Limpeza visual solicitada para login e tela inicial */
body.login-active .login-brand-hero,
body:not(.login-active) #dashboardView .system-home-status {
  display: none !important;
}

/* Camada final da reestilizacao solicitada - 2.01.26.0036 */
body.login-active {
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  background: #f8fafc !important;
}

body.login-active .login-view {
  min-height: 100vh !important;
  padding: 22px !important;
  display: grid !important;
  place-items: center !important;
  overflow: auto !important;
  background: #f8fafc !important;
}

body.login-active .login-view::before,
body.login-active .login-view::after,
body.login-active .login-visual-panels,
body.login-active .login-footer-message,
body.login-active .login-footer-version,
body.login-active .login-database-field {
  display: none !important;
}

body.login-active .login-card {
  width: min(392px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  padding: 28px 28px 30px !important;
  display: grid !important;
  gap: 13px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16) !important;
}

body.login-active .login-card-icon {
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto 2px !important;
  background: #d9f8ec !important;
  color: #0ca678 !important;
}

body.login-active .login-card-title h1 {
  color: #111827 !important;
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.login-active .login-card-title p {
  margin: 8px 0 4px !important;
  color: #94a3b8 !important;
  font-size: 0.95rem !important;
}

body.login-active .login-field label {
  color: #64748b !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body.login-active .login-field input,
body.login-active .login-field select {
  min-height: 42px !important;
  padding: 0 42px !important;
  border: 1px solid #d7e1ea !important;
  border-radius: 6px !important;
  color: #334155 !important;
  font-size: 0.94rem !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

body.login-active .login-input-icon,
body.login-active .login-field-action {
  bottom: 6px !important;
  color: #94a3b8 !important;
}

body.login-active .login-input-icon::before,
body.login-active .login-field-action::before,
body.login-active .login-card-icon::before {
  width: 17px !important;
  height: 17px !important;
}

body.login-active .recover-password-link {
  margin: -2px 0 0 !important;
  justify-self: end !important;
  color: #059669 !important;
  font-size: 0.86rem !important;
  font-weight: 900 !important;
}

body.login-active .login-button {
  min-height: 52px !important;
  margin-top: 0 !important;
  border-radius: 7px !important;
  background: #10b981 !important;
  box-shadow: 0 12px 20px rgba(16, 185, 129, 0.22) !important;
  font-size: 0.98rem !important;
  font-weight: 900 !important;
}

body.login-active .login-progress {
  height: 7px !important;
  margin-top: 2px !important;
  background: #edf2f7 !important;
}

body.login-active .login-loading-text,
body.login-active .login-message {
  margin: 0 !important;
  color: #64748b !important;
  text-align: center !important;
  font-size: 0.82rem !important;
}

body:not(.login-active) .app-shell,
body:not(.login-active)[data-module-active="dashboard"] .app-shell {
  background: #f4f8fb !important;
}

body:not(.login-active) #dashboardView.active {
  position: relative !important;
  min-height: calc(100vh - 126px) !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  background: #f4f8fb !important;
}

body:not(.login-active) #dashboardView .welcome-hero {
  position: relative !important;
  min-height: calc(100vh - 126px) !important;
  margin: 0 !important;
  padding: 30px 24px 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #f7fbfe 0%, #eff5f9 100%) !important;
  box-shadow: none !important;
  text-align: left !important;
}

body:not(.login-active) #dashboardView .welcome-hero::before {
  content: "WN" !important;
  position: absolute !important;
  inset: auto clamp(40px, 6vw, 96px) clamp(42px, 7vh, 96px) auto !important;
  z-index: 0 !important;
  width: auto !important;
  color: rgba(15, 23, 42, 0.055) !important;
  font-size: clamp(13rem, 28vw, 31rem) !important;
  font-weight: 900 !important;
  line-height: 0.72 !important;
  letter-spacing: 0 !important;
  pointer-events: none !important;
}

body:not(.login-active) #dashboardView .welcome-hero::after {
  content: "" !important;
  position: absolute !important;
  left: clamp(36px, 6vw, 110px) !important;
  top: clamp(110px, 17vh, 190px) !important;
  z-index: 1 !important;
  width: min(460px, 34vw) !important;
  height: 182px !important;
  background:
    linear-gradient(#ffffff, #ffffff) 4px 0 / 160px 24px no-repeat,
    linear-gradient(#ffffff, #ffffff) 0 74px / 100% 108px no-repeat !important;
  opacity: 0.9 !important;
  pointer-events: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(590px, 38vw) !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-top: 0 !important;
  text-align: left !important;
}

body:not(.login-active) #dashboardView .system-home-copy span {
  display: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2,
body:not(.login-active) #dashboardView .welcome-hero h2 {
  margin: 0 0 12px !important;
  color: #0f172a !important;
  font-size: clamp(1.9rem, 2.45vw, 3rem) !important;
  line-height: 1.06 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body:not(.login-active) #dashboardView .system-home-copy h2::before,
body:not(.login-active) #dashboardView .welcome-hero h2::before {
  content: none !important;
  display: none !important;
}

body:not(.login-active) #dashboardView .system-home-copy i,
body:not(.login-active) #dashboardView .welcome-hero i {
  width: 150px !important;
  height: 5px !important;
  margin: 0 0 10px !important;
  display: block !important;
  border-radius: 999px !important;
  background: #14b8a6 !important;
}

body:not(.login-active) #dashboardView .system-home-copy p,
body:not(.login-active) #dashboardView .welcome-hero p {
  display: block !important;
  max-width: 570px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

body:not(.login-active) #kpiGrid,
body:not(.login-active) #dashboardView .shortcut-panel,
body:not(.login-active) #dashboardView .dashboard-grid {
  display: none !important;
}

@media (max-width: 900px) {
  body:not(.login-active) #dashboardView .welcome-hero {
    min-height: calc(100vh - 126px) !important;
    padding: 32px 24px !important;
  }

  body:not(.login-active) #dashboardView .system-home-copy {
    width: 100% !important;
    max-width: 620px !important;
    margin-left: 0 !important;
  }

  body:not(.login-active) #dashboardView .welcome-hero::after {
    display: none !important;
  }

  body:not(.login-active) #dashboardView .welcome-hero::before {
    inset: auto 20px 36px auto !important;
    font-size: clamp(9rem, 48vw, 18rem) !important;
  }
}

.purchase-order-columns-dialog { width: min(560px, calc(100vw - 40px)); max-height: 85vh; overflow: auto; border: 1px solid #d5e1ed; border-radius: 14px; padding: 24px; color: #233047; }
.purchase-order-columns-dialog::backdrop { background: rgba(12, 30, 46, .45); }
.purchase-order-columns-dialog .dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.purchase-order-columns-dialog p { color: #64748b; }
.purchase-order-columns-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 24px 0; }
.purchase-order-columns-options label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.purchase-order-columns-dialog .dialog-actions { display: flex; justify-content: flex-end; }
.purchase-order-table [hidden] { display: none !important; }

.purchase-order-actions-menu { position: relative; flex: 0 0 auto; }
.purchase-order-actions-menu > summary { display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; list-style: none; }
.purchase-order-actions-menu > summary::-webkit-details-marker { display: none; }
.purchase-order-actions-menu > summary:focus-visible { outline: 2px solid #0f766e; outline-offset: 2px; }
.purchase-order-actions-arrow { font-size: 16px; line-height: 1; }
.purchase-order-actions-options { position: absolute; top: calc(100% + 6px); right: 0; z-index: 100; min-width: 235px; display: flex; flex-direction: column; gap: 4px; padding: 8px; border: 1px solid #d5e1ed; border-radius: 10px; background: #fff; box-shadow: 0 10px 28px rgba(15, 23, 42, .16); }
.purchase-order-actions-menu:not([open]) > .purchase-order-actions-options { display: none; }
.purchase-order-actions-options > button { width: 100%; justify-content: flex-start; text-align: left; }
.purchase-order-actions-options > button:not(:disabled):hover { background: #eef7f5; }
/* Faturamento Direto: approval stages remain separate from physical receipt. */
.direct-billing-stages{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.direct-billing-stages button{display:inline-flex;align-items:center;gap:8px;text-align:left;border:1px solid transparent;border-radius:6px;padding:7px 10px;background:transparent;color:#526570;cursor:pointer;font-size:12px;line-height:1.4}
.direct-billing-stages button:hover{background:#f2f6f5}
.direct-billing-stages button[aria-pressed="true"]{border-color:#cde5df;background:#edf7f3;color:#146b5b}
.direct-billing-stages button:focus-visible{outline:2px solid #146b5b;outline-offset:2px}
.direct-billing-stages strong{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
