:root {
  --sidebar-width: 264px;
}

/* Visual padrão Natan BI. Bootswatch permanece intacto quando outro tema é escolhido. */
.app-default-visual {
  --bs-primary: #f4773a;
  --bs-primary-rgb: 244, 119, 58;
  --bs-link-color: #e45f25;
  --bs-link-hover-color: #c94c18;
  --bs-body-color: #403731;
  --bs-body-color-rgb: 64, 55, 49;
  --bs-body-bg: #ffffff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-secondary-bg: #ffffff;
  --bs-secondary-bg-rgb: 255, 255, 255;
  --bs-tertiary-bg: #ffffff;
  --bs-tertiary-bg-rgb: 255, 255, 255;
  --bs-border-color: #efd8cc;
  --sidebar-width: 220px;
  background: #ffffff;
}

.app-default-visual .sidebar {
  color: #35302d;
  border-right: 1px solid #ead8ce;
  background: #ffffff;
  box-shadow: 4px 0 16px rgba(112, 54, 25, .08);
}

.app-default-visual .sidebar-brand {
  height: 72px;
  color: #d95f27;
  border-bottom-color: #f0ddd2;
  background: #fff;
}

.app-default-visual .sidebar-nav {
  padding: .65rem .6rem;
  scrollbar-color: #ef9368 transparent;
}

.app-default-visual .sidebar-link {
  gap: .7rem;
  margin-bottom: .16rem;
  padding: .64rem .75rem;
  color: #4b4541;
  border-radius: 6px;
  font-weight: 550;
}

.app-default-visual .sidebar-link i {
  width: 18px;
  color: #e66b32;
  text-align: center;
}

.app-default-visual .sidebar-link:hover {
  color: #b64a19;
  background: #fff0e8;
}

.app-default-visual .sidebar-link.active {
  color: #fff;
  background: linear-gradient(90deg, #f4773a, #ea682d);
  box-shadow: 0 5px 12px rgba(218, 88, 30, .2);
}

.app-default-visual .sidebar-link.active i { color: #fff; }
.app-default-visual .sidebar-section { color: #b16b49; border-top-color: #f0ddd2; }
.app-default-visual .logout-form { border-top: 1px solid #f0ddd2; background: #fff; }
.app-default-visual .logout-form .btn { color: #d95f27; border-color: #e77540; }
.app-default-visual .logout-form .btn:hover { color: #fff; background: #e77540; }

.app-default-visual .admin-panel,
.app-default-visual .indicator-card,
.app-default-visual .card,
.app-default-visual .login-card,
.app-default-visual .home-dashboard-strip article {
  border-color: rgba(218, 99, 45, .18);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(91, 43, 21, .08);
}

.app-default-visual .btn-primary {
  --bs-btn-bg: #f4773a;
  --bs-btn-border-color: #f4773a;
  --bs-btn-hover-bg: #e56228;
  --bs-btn-hover-border-color: #e56228;
  --bs-btn-active-bg: #d6531f;
  --bs-btn-active-border-color: #d6531f;
}

.app-default-visual .form-control:focus,
.app-default-visual .form-select:focus {
  border-color: #ef9368;
  box-shadow: 0 0 0 .2rem rgba(238, 108, 50, .16);
}

.app-default-visual .table > thead {
  --bs-table-bg: #ef6b31;
  --bs-table-color: #fff;
}

.app-default-visual .bg-primary,
.app-default-visual .text-bg-primary {
  background-color: #f4773a !important;
}

.app-default-visual .nav-pills .nav-link.active,
.app-default-visual .page-item.active .page-link,
.app-default-visual .dropdown-item.active,
.app-default-visual .dropdown-item:active {
  color: #fff;
  border-color: #f4773a;
  background-color: #f4773a;
}

.app-default-visual .badge.text-bg-primary,
.app-default-visual .badge.bg-primary {
  background: #ef6b31 !important;
}

/* Remove remanescentes azuis dos módulos quando o tema Natan estiver ativo. */
.app-default-visual .btn-outline-primary {
  --bs-btn-color: #e45f25;
  --bs-btn-border-color: #f4773a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #f4773a;
  --bs-btn-hover-border-color: #f4773a;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #e56228;
  --bs-btn-active-border-color: #e56228;
}

.app-default-visual .form-check-input:checked {
  border-color: #f4773a;
  background-color: #f4773a;
}

.app-default-visual .form-check-input:focus,
.app-default-visual .page-link:focus {
  border-color: #f4773a;
  box-shadow: 0 0 0 .2rem rgba(244, 119, 58, .16);
}

.app-default-visual .page-link,
.app-default-visual .nav-link,
.app-default-visual .accordion-button:not(.collapsed),
.app-default-visual .dt-container .dt-paging .dt-paging-button:not(.disabled) {
  color: #e45f25;
}

.app-default-visual .progress-bar { background-color: #f4773a; }
.app-default-visual .spinner-border.text-primary,
.app-default-visual .spinner-grow.text-primary,
.app-default-visual .text-primary { color: #e45f25 !important; }
.app-default-visual .border-primary { border-color: #f4773a !important; }

.app-default-visual .home-dashboard-hero {
  background: #ffffff;
}

.app-default-visual .stock-branch-selected td,
.app-default-visual .goal-standings tbody tr:hover,
.app-default-visual .stock-branch-item.is-active {
  background: rgba(244, 119, 58, .10) !important;
}

.app-default-visual .goal-standings tbody tr.is-selected {
  background: rgba(244, 119, 58, .16) !important;
}

.app-default-visual .stock-branch-cta {
  border-color: rgba(244, 119, 58, .35);
  background: linear-gradient(135deg, rgba(244, 119, 58, .13), rgba(244, 119, 58, .025));
}

.app-default-visual .stock-branch-item:hover,
.app-default-visual .stock-branch-item.is-active,
.app-default-visual .goal-filter-drop.is-over,
.app-default-visual .goal-sector-card.is-active {
  border-color: #f4773a;
}

.app-default-visual .goal-filter-drop.is-over,
.app-default-visual .goal-sector-card.is-active {
  background: rgba(244, 119, 58, .12);
}

.app-default-visual .goal-progress i,
.app-default-visual .goal-row-progress i,
.app-default-visual .goal-kpi-icon {
  background: #f4773a;
}

.app-default-visual .goal-kpi:nth-child(4) .goal-kpi-icon {
  background: #e56228;
}

.app-default-visual .goal-loading,
.app-default-visual .goal-board,
.app-default-visual .goal-card {
  background: #ffffff;
}

.app-default-visual .branch-expense-kpis .goal-kpi,
.app-default-visual .branch-expense-kpis .goal-kpi-total {
  --kpi-accent: #f4773a;
  --kpi-soft: rgba(244, 119, 58, .11);
}

.app-default-visual .expense-statistics-app .goals-hero { border-top-color: #f4773a; }
.app-default-visual .stats-chart-loading i,
.app-default-visual .stats-table-loading i { color: #f4773a; }

body {
  min-height: 100vh;
}

/* Estrutura visual global inspirada no Painel de Vendas.
   A paleta continua vindo do Bootswatch selecionado. */
.app-sales-system {
  --sidebar-width: 220px;
  background:
    linear-gradient(135deg, rgba(var(--bs-primary-rgb), .055), transparent 32%),
    var(--bs-body-bg);
}

.app-sales-system .sidebar {
  color: var(--bs-body-color);
  border-right: 1px solid rgba(var(--bs-primary-rgb), .18);
  background: var(--bs-body-bg);
  box-shadow: 4px 0 18px rgba(38, 25, 18, .08);
}

.app-sales-system .sidebar-brand {
  height: 72px;
  color: var(--bs-primary);
  border-bottom-color: rgba(var(--bs-primary-rgb), .16);
  background: var(--bs-body-bg);
}

.app-sales-system .sidebar-nav {
  padding: .65rem .6rem;
  scrollbar-color: rgba(var(--bs-primary-rgb), .55) transparent;
}

.app-sales-system .sidebar-link {
  gap: .7rem;
  margin-bottom: .16rem;
  padding: .64rem .75rem;
  color: var(--bs-body-color);
  border-radius: 6px;
  font-weight: 550;
}

.app-sales-system .sidebar-link i {
  width: 18px;
  color: var(--bs-primary);
  text-align: center;
}

.app-sales-system .sidebar-link:hover {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .09);
}

.app-sales-system .sidebar-link.active {
  color: #fff;
  background: linear-gradient(100deg, var(--bs-primary), rgba(var(--bs-primary-rgb), .78));
  box-shadow: 0 5px 13px rgba(var(--bs-primary-rgb), .25);
}

.app-sales-system .sidebar-link.active i { color: #fff; }
.app-sales-system .sidebar-section { color: rgba(var(--bs-primary-rgb), .82); border-top-color: rgba(var(--bs-primary-rgb), .14); }
.app-sales-system .logout-form { border-top: 1px solid rgba(var(--bs-primary-rgb), .16); background: var(--bs-body-bg); }

.app-sales-system .admin-main { padding: 1rem; }

.app-sales-system .admin-panel,
.app-sales-system .indicator-card,
.app-sales-system .card,
.app-sales-system .login-card,
.app-sales-system .home-dashboard-strip article {
  border-color: rgba(var(--bs-primary-rgb), .16);
  border-radius: 10px;
  background: rgba(var(--bs-body-bg-rgb), .97);
  box-shadow: 0 8px 24px rgba(40, 25, 17, .08);
}

.app-sales-system .form-control,
.app-sales-system .form-select,
.app-sales-system .input-group-text,
.app-sales-system .btn {
  border-radius: 6px;
}

.app-sales-system .form-control:focus,
.app-sales-system .form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .15);
}

.app-sales-system .table {
  border-color: rgba(var(--bs-primary-rgb), .13);
}

.app-sales-system .table > thead {
  --bs-table-bg: var(--bs-primary);
  --bs-table-color: #fff;
}

.homologation-banner {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  padding: 0 1rem;
  background: #ffc107;
  color: #2b2110;
  border-bottom: 1px solid rgba(43, 33, 16, .16);
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

body.has-homologation-banner {
  padding-top: 44px;
}

body.has-homologation-banner .sidebar {
  top: 44px;
  height: calc(100vh - 44px);
}

.landing-page {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    linear-gradient(135deg, rgba(var(--bs-primary-rgb), .10), transparent 28%),
    linear-gradient(225deg, rgba(34, 197, 94, .10), transparent 30%),
    var(--bs-body-bg);
}

.landing-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(1180px, calc(100% - 2rem));
  min-height: 76px;
  margin: 0 auto;
}

.landing-brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--bs-body-color);
  font-size: 1.05rem;
  font-weight: 800;
  text-decoration: none;
}

.landing-brand:hover {
  color: var(--bs-primary);
}

.landing-brand-mark,
.login-card-head span {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 8px;
  color: #fff;
  background: var(--bs-primary);
}

.landing-brand-mark img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.landing-nav-actions {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 430px);
  gap: clamp(1.25rem, 4vw, 4rem);
  align-items: center;
  width: min(1180px, calc(100% - 2rem));
  min-height: calc(100svh - 154px);
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 4rem) 0 2rem;
}

.landing-copy {
  min-width: 0;
}

.landing-kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .65rem;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.landing-copy h1 {
  margin: 0;
  font-size: clamp(3.6rem, 9vw, 7.5rem);
  line-height: .9;
  letter-spacing: 0;
}

.landing-lead {
  max-width: 690px;
  margin: 1.2rem 0 0;
  color: var(--bs-secondary-color);
  font-size: clamp(1.05rem, 1.6vw, 1.32rem);
  line-height: 1.55;
}

.landing-actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}

.landing-actions .btn,
.login-card .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}

.landing-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  max-width: 780px;
  margin-top: 2rem;
}

.landing-metrics > div,
.landing-feature,
.login-card {
  border: 1px solid rgba(var(--bs-body-color-rgb), .14);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .78);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .10);
}

.landing-metrics > div {
  min-height: 96px;
  padding: .95rem;
}

.landing-metrics strong {
  display: block;
  color: var(--bs-primary);
  font-size: 1.65rem;
  line-height: 1;
}

.landing-metrics span {
  display: block;
  margin-top: .45rem;
  color: var(--bs-secondary-color);
  font-size: .86rem;
  font-weight: 700;
}

.login-panel {
  min-width: 0;
}

.login-card {
  padding: clamp(1.1rem, 2.4vw, 1.6rem);
}

.login-logo-wrap {
  display: grid;
  place-items: center;
  margin: -.2rem 0 1rem;
}

.login-logo-wrap img {
  width: min(190px, 58%);
  max-height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, .16));
}

.login-card-head {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  margin-bottom: 1.35rem;
}

.login-card-head h2 {
  margin: 0;
  font-size: 1.35rem;
}

.login-card-head p {
  margin: .2rem 0 0;
  color: var(--bs-secondary-color);
}

.landing-section {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 3rem;
}

.landing-section-head {
  max-width: 740px;
  margin-bottom: 1.2rem;
}

.landing-section-head h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.08;
}

.landing-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.landing-feature {
  min-height: 210px;
  padding: 1.25rem;
}

.landing-feature i {
  font-size: 1.7rem;
}

.landing-feature h3 {
  margin: 1rem 0 .45rem;
  font-size: 1.15rem;
}

.landing-feature p {
  margin: 0;
  color: var(--bs-secondary-color);
}

.public-dashboard {
  min-height: 100vh;
  padding: clamp(1rem, 2vw, 2rem);
}

.dashboard-app {
  min-height: 100vh;
  padding: clamp(1rem, 2vw, 2rem);
  overflow-x: hidden;
}

.app-with-sidebar .dashboard-app {
  padding: 0 0 2rem;
}

.dashboard-header,
.admin-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.dashboard-header h1,
.admin-topbar h1 {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  margin: 0;
}

.dashboard-header p,
.admin-topbar p {
  margin: .25rem 0 0;
}

.permissions-autosave-status {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .4rem;
  padding: .35rem .7rem;
  color: #14532d;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
  border: 1px solid rgba(20, 83, 45, .25);
  border-radius: 999px;
  background: rgba(34, 197, 94, .12);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.permissions-autosave-status[data-state="saving"] {
  color: #92400e;
  border-color: rgba(146, 64, 14, .3);
  background: rgba(245, 158, 11, .14);
}

.permissions-autosave-status[data-state="saving"] i {
  animation: sales-loading-spin .75s linear infinite;
}

.permissions-autosave-status[data-state="error"] {
  color: #991b1b;
  border-color: rgba(153, 27, 27, .3);
  background: rgba(239, 68, 68, .12);
}

.theme-select {
  max-width: 180px;
}

.dashboard-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  flex-wrap: wrap;
}

.dashboard-controls #dashboard-select {
  min-width: 220px;
}

.home-dashboard-app {
  display: grid;
  gap: 1rem;
}

.home-dashboard-hero {
  position: relative;
  overflow: hidden;
  padding: 1.25rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .12), transparent 36%),
    linear-gradient(180deg, rgba(var(--bs-tertiary-bg-rgb), .84), rgba(var(--bs-body-bg-rgb), .96));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .08);
}

.home-dashboard-hero h1 {
  font-size: clamp(2rem, 3.4vw, 3.6rem);
}

.home-dashboard-hero p {
  max-width: 720px;
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.home-dashboard-kicker {
  display: block;
  margin-bottom: .3rem;
  color: var(--bs-primary);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-dashboard-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.home-dashboard-strip article {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .92);
}

.home-dashboard-strip i {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--bs-primary);
  border: 1px solid rgba(var(--bs-primary-rgb), .20);
  border-radius: 8px;
  background: rgba(var(--bs-primary-rgb), .10);
}

.home-dashboard-strip span,
.home-dashboard-strip strong {
  display: block;
}

.home-dashboard-strip span {
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.home-dashboard-strip strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.refresh-control {
  width: auto;
  min-width: 170px;
}

.refresh-control .form-select {
  min-width: 88px;
}

.refresh-control .input-group-text:last-child {
  min-width: 50px;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.indicator-card {
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  padding: 1.25rem;
  background:
    linear-gradient(180deg, rgba(var(--bs-tertiary-bg-rgb), .45), rgba(var(--bs-body-bg-rgb), .96));
  box-shadow: 0 12px 30px rgba(0, 0, 0, .07);
  min-width: 0;
  min-height: 180px;
  display: flex;
  flex-direction: column;
}

.indicator-card .icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  margin-bottom: .75rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .10);
}

.indicator-card h2 {
  color: var(--bs-secondary-color);
  font-weight: 900;
  text-transform: uppercase;
}

.indicator-card strong {
  display: block;
}

.indicator-card-value {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: clip;
  font-size: clamp(2rem, 3.2vw, 3.1rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.indicator-card small {
  margin-top: .45rem;
}

.indicator-card p {
  margin-top: .25rem;
}

.login-fab {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 20;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}

.auth-page {
  display: grid;
  place-items: center;
}

.auth-card {
  width: min(100%, 420px);
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 1.5rem;
  background: var(--bs-body-bg);
}

.admin-shell {
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  background: #17202a;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.sidebar-brand {
  height: 68px;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 0 1rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.sidebar-nav {
  flex: 1;
  padding: .75rem;
  overflow-y: auto;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: rgba(255,255,255,.86);
  text-decoration: none;
  padding: .7rem .85rem;
  border-radius: 8px;
}

.sidebar-link:hover {
  color: #fff;
  background: rgba(255,255,255,.1);
}

.sidebar-link.active {
  color: #fff;
  background: rgba(255,255,255,.18);
}

.sidebar-section {
  padding: .45rem .85rem .1rem;
  margin-top: .6rem;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.32);
  border-top: 1px solid rgba(255,255,255,.07);
}

.sidebar-section:first-child {
  margin-top: 0;
  border-top: none;
}

/* Painel de Vendas: navegação alinhada à identidade Natan/Power BI. */
.sales-panel-layout {
  --sidebar-width: 220px;
}

.sales-panel-layout .sidebar {
  color: #35302d;
  border-right: 1px solid #ead8ce;
  background: #fffaf7;
  box-shadow: 4px 0 16px rgba(112, 54, 25, .08);
}

.sales-panel-layout .sidebar-brand {
  height: 72px;
  gap: .55rem;
  color: #d95f27;
  border-bottom: 1px solid #f0ddd2;
  background: #fff;
  font-size: .98rem;
}

.sales-panel-layout .sidebar-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.sales-panel-layout .sidebar-nav {
  padding: .65rem .6rem;
  scrollbar-color: #ef9368 transparent;
}

.sales-panel-layout .sidebar-link {
  gap: .7rem;
  margin-bottom: .16rem;
  padding: .64rem .75rem;
  color: #4b4541;
  border-radius: 5px;
  font-weight: 550;
}

.sales-panel-layout .sidebar-link i {
  width: 18px;
  color: #e66b32;
  text-align: center;
}

.sales-panel-layout .sidebar-link:hover {
  color: #b64a19;
  background: #fff0e8;
}

.sales-panel-layout .sidebar-link.active {
  color: #fff;
  background: linear-gradient(90deg, #f4773a, #ea682d);
  box-shadow: 0 5px 12px rgba(218, 88, 30, .2);
}

.sales-panel-layout .sidebar-link.active i {
  color: #fff;
}

.sales-panel-layout .sidebar-section {
  color: #b16b49;
  border-top-color: #f0ddd2;
}

.sales-panel-layout .logout-form {
  border-top: 1px solid #f0ddd2;
  background: #fff;
}

.sales-panel-layout .logout-form .btn {
  color: #d95f27;
  border-color: #e77540;
}

.sales-panel-layout .logout-form .btn:hover {
  color: #fff;
  background: #e77540;
}

.admin-main {
  min-width: 0;
  padding: 1.5rem;
}

.admin-grid {
  display: grid;
  gap: 1rem;
}

.admin-panel {
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 1rem;
  background: var(--bs-body-bg);
}

.admin-panel h2 {
  font-size: 1.1rem;
  margin: 0 0 1rem;
}

.dashboard-charts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}

.chart-box {
  min-height: 320px;
  overflow: hidden;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background: var(--bs-body-bg);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.home-reports-panel {
  padding: 1.15rem;
  border-color: rgba(var(--bs-body-color-rgb), .10);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.home-global-summary {
  padding: 1.15rem;
  border-color: rgba(var(--bs-body-color-rgb), .10);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.global-summary-totals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1rem;
}

.global-summary-totals article {
  padding: .85rem 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .92);
}

.global-summary-totals span {
  display: block;
  margin-bottom: .2rem;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.global-summary-totals strong {
  display: block;
  font-size: 1.2rem;
}

.global-summary-table th,
.global-summary-table td {
  vertical-align: middle;
}

@media (max-width: 900px) {
  .global-summary-totals {
    grid-template-columns: 1fr;
  }
}

.home-monthly-evolution {
  padding: 1.15rem;
  border-color: rgba(var(--bs-body-color-rgb), .10);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.home-venda-liquida-check {
  padding: 1.15rem;
  border-color: rgba(var(--bs-body-color-rgb), .10);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

.venda-liquida-form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: .75rem;
  margin-bottom: 1rem;
}

.venda-liquida-form label {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  font-size: .78rem;
  font-weight: 700;
  color: var(--bs-secondary-color);
  text-transform: uppercase;
}

.venda-liquida-form input[type="date"] {
  padding: .4rem .6rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .15);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .92);
  color: var(--bs-body-color);
}

.venda-liquida-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.venda-liquida-cards article {
  padding: .85rem 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .92);
}

.venda-liquida-cards span {
  display: block;
  margin-bottom: .2rem;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.venda-liquida-cards strong {
  display: block;
  font-size: 1.2rem;
}

@media (max-width: 900px) {
  .venda-liquida-cards {
    grid-template-columns: 1fr;
  }
}

.monthly-evolution-kpis article {
  position: relative;
  overflow: hidden;
}

.monthly-evolution-kpis article::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #2f9e44, #1c7ed6);
}

.monthly-evolution-kpis small {
  display: block;
  margin-top: .3rem;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 600;
}

.monthly-evolution-chart {
  width: 100%;
  height: clamp(260px, 34vh, 380px);
}

.home-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.home-section-head h2 {
  margin: 0;
  font-size: 1.25rem;
}

.home-section-head > i {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  color: #166534;
  border: 1px solid rgba(22, 163, 74, .22);
  border-radius: 8px;
  background: rgba(22, 163, 74, .10);
}

.home-reports-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
}

.sales-report-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  grid-column: 1 / -1;
  margin-bottom: .75rem;
}

.sales-report-tab {
  min-height: 38px;
  padding: .45rem .8rem;
  color: var(--bs-body-color);
  font-weight: 700;
  border: 1px solid rgba(var(--bs-body-color-rgb), .14);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .96);
}

.sales-report-tab.active {
  color: var(--bs-primary);
  border-color: rgba(var(--bs-primary-rgb), .42);
  background: rgba(var(--bs-primary-rgb), .10);
}

.sales-report-panel {
  display: none;
}

.sales-report-panel.active {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
  grid-column: 1 / -1;
}

/* A rota dedicada nunca deve exibir o dashboard legado enquanto o BI inicializa. */
.sales-panel-entry:not(.sales-panel-ready) {
  position: relative;
  min-height: calc(100vh - 3rem);
}

.sales-panel-entry:not(.sales-panel-ready) > * {
  visibility: hidden;
}

.sales-panel-entry:not(.sales-panel-ready)::before {
  content: 'Abrindo Painel de Vendas...';
  position: absolute;
  inset: 0;
  z-index: 10;
  display: grid;
  place-items: center;
  padding-top: 2.75rem;
  visibility: visible;
  color: var(--bs-primary);
  font-size: 1.05rem;
  font-weight: 700;
  background: var(--bs-body-bg);
}

.sales-panel-entry:not(.sales-panel-ready)::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 11;
  width: 32px;
  height: 32px;
  margin: -3.4rem 0 0 -16px;
  border: 4px solid color-mix(in srgb, var(--bs-primary) 20%, transparent);
  border-top-color: var(--bs-primary);
  border-radius: 50%;
  visibility: visible;
  animation: sales-loading-spin .75s linear infinite;
}

.sales-panel-app {
  --sales-orange: #f47a3f;
  --sales-orange-dark: #eb6730;
  --sales-border: #565656;
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  align-content: start;
  min-height: calc(100vh - 3rem);
  gap: .75rem;
  padding: 0;
  color: #111;
  background: var(--sales-orange);
}

.app-with-sidebar .sales-panel-app {
  margin: -1.5rem;
}

.sales-panel-app .home-dashboard-hero {
  display: grid;
  grid-column: 2;
  grid-template-columns: minmax(330px, 440px) minmax(280px, 1fr) auto;
  align-items: start;
  min-height: 148px;
  margin: 0;
  padding: 1.45rem 1.55rem .35rem;
  color: #fff;
  border: 0;
  border-radius: 0;
  background: var(--sales-orange);
  box-shadow: none;
}

.sales-panel-app .home-dashboard-kicker {
  margin: 0;
  color: #fff;
  font-size: .78rem;
  letter-spacing: 0;
  opacity: .96;
  text-transform: none;
}

.sales-panel-app .home-dashboard-hero h1 {
  color: #fff;
  max-width: 440px;
  overflow: hidden;
  font-size: clamp(2.8rem, 4vw, 4rem);
  font-weight: 800;
  line-height: .95;
  white-space: nowrap;
}

.sales-panel-app .home-dashboard-hero p,
.sales-panel-app .home-dashboard-strip,
.sales-panel-app .home-section-head,
.sales-panel-app #dashboard-select,
.sales-panel-app #theme-switcher {
  display: none;
}

.sales-panel-app #dashboard-snapshot-status,
.sales-panel-app #dashboard-cards,
.sales-panel-app #dashboard-charts,
.sales-panel-app .home-reports-panel {
  grid-column: 2;
}

.sales-panel-app #dashboard-snapshot-status {
  display: none;
}

.sales-panel-app #dashboard-charts {
  display: none;
}

.sales-panel-app .dashboard-controls {
  align-self: start;
  padding-top: .1rem;
  position: relative;
  z-index: 6;
}

.sales-panel-app .refresh-control {
  color: #fff;
}

.sales-panel-app .refresh-control .form-select,
.sales-panel-app .refresh-control .input-group-text,
.sales-panel-app .dashboard-controls .btn {
  color: #fff;
  border-color: rgba(255,255,255,.65);
  background: transparent;
}

.sales-panel-app .cards-grid {
  grid-template-columns: minmax(280px, 1.8fr) minmax(170px, 1.1fr) minmax(145px, .85fr) minmax(145px, .85fr);
  gap: 1.25rem;
  margin: -5.6rem .75rem 1.2rem min(34vw, 470px);
  position: relative;
  z-index: 2;
}

.sales-panel-app .indicator-card {
  min-height: 104px;
  padding: .7rem 1rem .85rem;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--sales-orange);
  border: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 12px 12px 26px rgba(117, 67, 42, .34);
}

.sales-panel-app .indicator-card .icon,
.sales-panel-app .indicator-card p,
.sales-panel-app .indicator-card small {
  display: none !important;
}

.sales-panel-app .indicator-card h2 {
  margin: 0 0 .45rem;
  color: var(--sales-orange);
  font-size: clamp(1rem, 1.45vw, 1.55rem);
  font-weight: 800;
  text-transform: none;
}

.sales-panel-app .indicator-card-value {
  color: var(--sales-orange);
  font-size: clamp(2.25rem, 3.15vw, 3.7rem);
  font-weight: 800;
}

.sales-panel-app .dashboard-charts {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
  gap: .8rem;
}

.sales-panel-app .chart-box,
.sales-panel-app .home-reports-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sales-border);
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  box-shadow: 8px 8px 18px rgba(0,0,0,.24);
}

.sales-panel-app .home-reports-panel {
  min-height: 560px;
  margin: 0 .75rem .75rem;
  padding: .55rem;
}

.sales-panel-app .home-reports-panel:has(.sales-vue-shell) {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.sales-panel-app .home-reports-panel::before {
  content: "";
  position: absolute;
  inset: 12% 6% 8% 28%;
  z-index: 0;
  background: none;
  opacity: .08;
  pointer-events: none;
}

.sales-panel-app #dashboard-reports {
  position: relative;
  z-index: 1;
}

.sales-panel-app #sales-bi-root {
  min-width: 0;
}

.sales-panel-app .sales-vue-shell {
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  gap: .75rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.sales-panel-app .sales-vue-main {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  overflow: visible;
}

.sales-panel-app .sales-cards-row {
  display: grid;
  grid-template-columns: minmax(280px, 1.8fr) minmax(170px, 1.1fr) minmax(145px, .85fr) minmax(145px, .85fr);
  gap: 1rem;
  flex: 0 0 auto;
  align-items: stretch;
  margin: -6rem .75rem 1rem 480px;
  position: relative;
  z-index: 2;
}

.sales-panel-app .sales-pages-sidebar {
  position: sticky;
  top: 0;
  grid-column: 1;
  grid-row: 1;
  margin-top: calc(-148px - 1.5rem);
  height: calc(100vh - 3rem);
  min-height: 620px;
  overflow: hidden;
  border-right: 1px solid #cfcfcf;
  background: #fff;
  z-index: 5;
}

.sales-panel-app .sales-pages-head {
  display: flex;
  height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 0 1.15rem;
  color: #111;
  border-bottom: 1px solid #e6e6e6;
}

.sales-panel-app .sales-pages-head strong {
  font-size: 1.05rem;
  font-weight: 700;
}

.sales-panel-app .sales-pages-head i {
  color: #56616f;
  font-size: .85rem;
}

.sales-panel-app .sales-report-tabs {
  display: block;
  height: calc(100% - 68px);
  margin: 0;
  padding: .45rem .5rem .8rem;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: #b8b8b8 #eeeeee;
  scrollbar-width: auto;
}

.sales-panel-app .sales-report-tab {
  position: relative;
  display: block;
  width: 100%;
  min-height: 47px;
  padding: .65rem .55rem .65rem .72rem;
  overflow: hidden;
  color: #061426;
  font-size: .95rem;
  font-weight: 500;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.sales-panel-app .sales-report-tab.active {
  color: #061426;
  font-weight: 800;
  background: #ececec;
}

.sales-panel-app .sales-report-tab.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 999px;
  background: #07927d;
}

.sales-panel-app .sales-report-tab.completed { color: #176c39; background: #edf8f1; }
.sales-panel-app .sales-report-tab.completed::after { content: "\f058"; margin-left: auto; color: #20a657; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.sales-panel-app .sales-report-tab.completed.active { color: #fff; background: #20a657; }
.sales-panel-app .sales-report-tab.completed.active::before { background: #0f7439; }
.sales-panel-app .sales-report-tab.completed.active::after { color: #fff; }

.sales-panel-app .sales-page-content {
  min-width: 0;
  padding: 0;
}

.sales-panel-app .sales-report-panel.active {
  display: block;
}

.sales-panel-app .sales-pbi-page {
  display: grid;
  grid-template-columns: 204px minmax(0, 1fr);
  gap: .75rem;
  min-height: 525px;
}

.sales-panel-app .sales-filter-confirm-bar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  min-height: 42px;
  padding: .45rem .65rem;
  color: #4b2a1d;
  font-size: .82rem;
  font-weight: 800;
  border: 1px solid rgba(244, 122, 63, .35);
  border-radius: 7px;
  background: #fff7f2;
}

.sales-panel-app .sales-cache-context {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.sales-panel-app .sales-cache-context strong {
  color: var(--bs-body-color);
  font-size: 0.78rem;
}

.sales-panel-app .sales-cache-context small {
  color: var(--bs-secondary-color);
  font-size: 0.68rem;
  font-weight: 600;
}

.sales-panel-app .sales-scope-context {
  display: grid;
  grid-template-columns: 22px auto;
  column-gap: 7px;
  margin-right: auto;
  min-width: 0;
  padding: 5px 9px;
  color: #7c3418;
  border: 1px solid rgba(237, 108, 50, .3);
  border-radius: 7px;
  background: #fff;
}

.sales-panel-app .sales-scope-context i {
  grid-row: 1 / 3;
  align-self: center;
  color: #e6622b;
}

.sales-panel-app .sales-scope-context strong { font-size: .7rem; text-transform: uppercase; }
.sales-panel-app .sales-scope-context small { overflow: hidden; font-size: .69rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }

.sales-panel-app .sales-filter-confirm-bar button {
  min-height: 32px;
  padding: .35rem .8rem;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  border: 1px solid #d95721;
  border-radius: 4px;
  background: #ef7842;
}

.sales-panel-app .sales-filter-confirm-bar button:disabled {
  cursor: wait;
  opacity: .7;
}

.sales-panel-app .sales-filter-rail {
  display: flex;
  flex-direction: column;
  gap: .48rem;
  padding: .15rem .15rem;
}

.sales-panel-app .sales-filter-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .16rem .45rem;
  align-items: center;
  color: #111;
}

.sales-panel-app .sales-filter-box span {
  grid-column: 1 / -1;
  color: #111;
  font-size: .76rem;
  font-weight: 800;
  text-shadow: none;
}

.sales-panel-app .sales-filter-box b,
.sales-panel-app .sales-filter-input {
  min-height: 31px;
  padding: .25rem 1.85rem .25rem .48rem;
  overflow: hidden;
  color: #fff;
  font-size: .93rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.88);
  background: #f39a70;
}

.sales-panel-app .sales-filter-input {
  width: 100%;
  outline: 0;
  grid-column: 1 / -1;
}

.sales-panel-app .sales-filter-input::placeholder {
  color: rgba(255,255,255,.88);
}

.sales-panel-app .sales-filter-input:focus {
  border-color: #fff;
  box-shadow: 0 0 0 2px rgba(255,255,255,.25);
}

.sales-panel-app .sales-filter-input::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

.sales-panel-app .sales-filter-box i {
  justify-self: end;
  margin-top: -2.05rem;
  margin-right: .62rem;
  color: #fff;
  pointer-events: none;
}

.sales-panel-app .sales-multi-select { position: relative; width: 100%; grid-column: 1 / -1; }
.sales-panel-app .sales-multi-select > summary { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 31px; padding: .25rem .48rem; overflow: hidden; color: #fff; font-size: .93rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; list-style: none; border: 1px solid rgba(255,255,255,.88); background: #f39a70; }
.sales-panel-app .sales-multi-select > summary::-webkit-details-marker { display: none; }
.sales-panel-app .sales-filter-box .sales-multi-select > summary i { margin: 0; color: #fff; font-size: .75rem; pointer-events: none; transition: transform .18s ease; }
.sales-panel-app .sales-multi-select[open] > summary { box-shadow: 0 0 0 3px rgba(239,120,66,.22); }
.sales-panel-app .sales-multi-select[open] > summary i { transform: rotate(180deg); }
.sales-panel-app .sales-multi-menu { position: absolute; z-index: 80; top: calc(100% + 5px); left: 0; width: max(270px, 100%); max-height: 320px; overflow: auto; padding: 9px; color: #181818; border: 1px solid #ef6a2f; border-radius: 5px; background: rgba(255,255,255,.99); box-shadow: 0 8px 22px rgba(72,33,16,.2); }
.sales-panel-app .sales-multi-menu > input[type="search"] { width: 100%; height: 34px; margin-bottom: 7px; padding: .35rem .55rem; color: #181818; font-size: .82rem; font-weight: 700; border: 1px solid #ef6a2f; border-radius: 3px; outline: 0; background: #fff; }
.sales-panel-app .sales-multi-menu > input[type="search"]:focus { box-shadow: 0 0 0 3px rgba(239,120,66,.18); }
.sales-panel-app .sales-multi-menu label { display: flex; align-items: center; gap: 8px; padding: 7px 6px; color: #181818; cursor: pointer; border-radius: 3px; }
.sales-panel-app .sales-multi-menu label:hover { background: #fff1ea; }
.sales-panel-app .sales-multi-menu label:has(input:checked) { color: #9d3711; background: #ffe1d2; }
.sales-panel-app .sales-multi-menu label input { flex: 0 0 auto; width: 16px; height: 16px; accent-color: #ef6a2f; }
.sales-panel-app .sales-filter-box .sales-multi-menu label span { grid-column: auto; color: inherit; font-size: .8rem; font-weight: 800; text-shadow: none; }
.sales-panel-app .sales-multi-apply { position: sticky; bottom: 0; width: 100%; margin-top: 8px; padding: 8px 12px; color: #fff; font-size: .8rem; font-weight: 900; text-transform: uppercase; border: 1px solid #d95721; border-radius: 3px; background: #ef7842; box-shadow: 0 -4px 8px rgba(255,255,255,.92); }
.sales-panel-app .sales-multi-apply:hover { background: #db622e; }

.sales-panel-app .sales-filter-clear {
  justify-self: end;
  width: 20px;
  height: 20px;
  margin-top: -2.08rem;
  margin-right: 1.85rem;
  padding: 0;
  color: #fff;
  font-size: .75rem;
  border: 0;
  border-radius: 2px;
  background: transparent;
  position: relative;
  z-index: 2;
}

.sales-panel-app .sales-filter-clear i {
  margin: 0;
  pointer-events: none;
}

.sales-panel-app .sales-filter-clear:hover {
  background: rgba(255,255,255,.22);
}

.sales-panel-app .sales-filter-brand {
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  margin: auto auto 0;
  text-align: center;
  border-radius: 50%;
  background: #fff;
}

.sales-panel-app .sales-filter-brand img {
  width: 112px;
  height: 112px;
  object-fit: contain;
}

.sales-panel-app .sales-pbi-body {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  align-content: start;
  gap: .75rem;
}

.sales-panel-app .sales-pbi-body:has(.sales-live-grid),
.sales-panel-app .sales-pbi-body:has(.sales-supplier-grid),
.sales-panel-app .sales-pbi-body:has(.sales-geo-visual) {
  display: block;
}

.sales-panel-app .home-report-card {
  min-height: 70px;
  border-color: rgba(244, 122, 63, .38);
  border-radius: 4px;
  background: rgba(255,255,255,.96);
  box-shadow: none;
}

.sales-panel-app .home-report-card:hover {
  border-color: var(--sales-orange);
}

.sales-panel-app .home-report-icon,
.sales-panel-app .home-report-action {
  color: #fff;
  border-radius: 4px;
  background: var(--sales-orange);
}

.sales-panel-app .home-report-copy strong {
  color: #111;
}

.sales-panel-app .sales-live-grid {
  display: grid;
  grid-template-columns: minmax(610px, 1.02fr) minmax(430px, .98fr);
  gap: .9rem;
  height: clamp(520px, calc(100vh - 280px), 700px);
  min-height: 0;
  max-width: 100%;
}

.sales-panel-app .sales-live-left {
  display: grid;
  grid-template-rows: 190px minmax(0, 1fr);
  gap: .75rem;
  min-width: 0;
  min-height: 0;
}

.sales-panel-app .sales-clients-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr); gap: 16px; }
.sales-panel-app .sales-clients-side { display: grid; gap: 16px; align-content: start; }
.sales-panel-app .sales-clients-matrix { max-height: 700px; overflow: auto; }
.sales-panel-app .sales-month-line.static { cursor: default; }
.sales-panel-app .sales-month-visual { max-height: 285px; overflow: auto; }
@media (max-width: 1100px) { .sales-panel-app .sales-clients-grid { grid-template-columns: 1fr; } }

.sales-panel-app .sales-retail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: 14px;
  min-height: 0;
}
.sales-panel-app .sales-retail-left,
.sales-panel-app .sales-retail-right { display: grid; grid-template-rows: minmax(190px, auto) minmax(280px, 1fr); gap: 14px; min-height: 0; }
.sales-panel-app .sales-retail-months,
.sales-panel-app .sales-retail-clients { max-height: 285px; overflow: auto; }
.sales-panel-app .sales-retail-tree { max-height: 465px; overflow: auto; }
.sales-panel-app .sales-retail-tree table { min-width: 720px; }
.sales-panel-app .sales-retail-tree th:first-child { width: 55%; }
.sales-panel-app .sales-bar-row.static { cursor: default; }
@media (max-width: 1100px) {
  .sales-panel-app .sales-retail-grid { grid-template-columns: 1fr; }
}

.sales-panel-app .sales-supplier-grid {
  display: grid;
  grid-template-columns: minmax(620px, 1.08fr) minmax(430px, .92fr);
  gap: 14px;
  height: clamp(520px, calc(100vh - 280px), 700px);
  min-height: 0;
}

.sales-panel-app .sales-supplier-left {
  display: grid;
  grid-template-rows: minmax(205px, .78fr) minmax(280px, 1.22fr);
  gap: 14px;
  min-width: 0;
  min-height: 0;
}

.sales-panel-app .sales-supplier-months,
.sales-panel-app .sales-supplier-tree,
.sales-panel-app .sales-supplier-clients {
  overflow: auto;
}

.sales-panel-app .sales-supplier-tree table { min-width: 720px; }
.sales-panel-app .sales-supplier-tree th:first-child { width: 52%; }
.sales-panel-app .sales-supplier-clients { align-content: start; }

.sales-panel-app .sales-geo-visual {
  height: clamp(520px, calc(100vh - 280px), 720px);
  overflow: hidden;
}

.sales-panel-app .sales-geo-table-wrap {
  height: calc(100% - 28px);
  overflow: auto;
}

.sales-panel-app .sales-geo-visual table { min-width: 900px; }
.sales-panel-app .sales-geo-visual th:first-child { width: 54%; text-align: left; }
.sales-panel-app .sales-geo-visual td:not(:first-child),
.sales-panel-app .sales-geo-visual th:not(:first-child) { text-align: right; }
.sales-panel-app .sales-geo-visual tbody tr.level-0 td { background: #ddd; font-weight: 900; }
.sales-panel-app .sales-geo-visual tbody tr.level-1 td { background: #eee; font-weight: 850; }
.sales-panel-app .sales-geo-visual tfoot th { z-index: 2; bottom: 0; top: auto; }

.sales-panel-app .sales-pbi-page.is-rca-clients {
  display: block;
  padding: 8px;
}

.sales-panel-app .sales-pbi-page.is-peso-rca {
  display: block;
  padding: 8px;
}

.sales-panel-app .sales-pbi-page.is-peso-rca .sales-pbi-body { min-width: 0; }
.sales-panel-app .sales-pbi-body:has(.sales-peso-rca-visual) { display: block; }
.sales-panel-app .sales-peso-toolbar { grid-template-columns: repeat(6, minmax(120px, 1fr)); }
.sales-panel-app .sales-peso-rca-visual { min-height: clamp(520px, calc(100vh - 250px), 760px); overflow: hidden; }
.sales-panel-app .sales-peso-rca-scroll { max-height: calc(100vh - 285px); overflow: auto; }
.sales-panel-app .sales-peso-rca-visual table { min-width: 1180px; }
.sales-panel-app .sales-peso-rca-visual th:first-child { min-width: 340px; text-align: left; }
.sales-panel-app .sales-peso-rca-visual td:not(:first-child),
.sales-panel-app .sales-peso-rca-visual th:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-peso-rca-visual thead tr:first-child th:not(:first-child) { text-align: center; }
.sales-panel-app .sales-peso-rca-visual tbody tr.level-0 td { background: #eee; font-weight: 800; }
.sales-panel-app .sales-peso-rca-visual tbody tr.level-1 td { background: #fafafa; }
.sales-panel-app .sales-peso-rca-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }

.sales-panel-app .sales-pbi-page.is-mdias-compare .sales-pbi-body { display: block; padding: 10px; }
.sales-panel-app .sales-mdias-compare-head { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 18px; align-items: end; margin-bottom: 10px; }
.sales-panel-app .sales-mdias-compare-head h2 { margin: 0; color: #ef6c32; font-size: clamp(28px, 2.4vw, 42px); line-height: .92; text-align: center; }
.sales-panel-app .sales-mdias-compare-head h2 span { display: block; margin-top: 8px; font-size: .62em; }
.sales-panel-app .sales-mdias-compare-toolbar { grid-template-columns: repeat(5, minmax(120px, 1fr)); margin: 0; }
.sales-panel-app .sales-mdias-monthly-visual { height: 310px; overflow: hidden; }
.sales-panel-app .sales-mdias-table-scroll { height: 278px; overflow: auto; }
.sales-panel-app .sales-mdias-monthly-visual table { min-width: 1750px; }
.sales-panel-app .sales-mdias-monthly-visual th:first-child { min-width: 245px; text-align: left; }
.sales-panel-app .sales-mdias-monthly-visual td:not(:first-child),
.sales-panel-app .sales-mdias-monthly-visual th:not(:first-child) { min-width: 92px; text-align: right; white-space: nowrap; }
.sales-panel-app .sales-mdias-monthly-visual thead tr:first-child th:not(:first-child) { text-align: center; }
.sales-panel-app .sales-mdias-monthly-visual tbody tr.level-0 td { background: #eee; font-weight: 800; }
.sales-panel-app .sales-mdias-monthly-visual tbody tr.level-1 td { background: #fafafa; }
.sales-panel-app .sales-mdias-monthly-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-mdias-annual-visual { min-height: 280px; margin-top: 12px; }
.sales-panel-app .sales-mdias-annual-visual table { width: min(100%, 650px); }
.sales-panel-app .sales-mdias-annual-visual th:first-child,
.sales-panel-app .sales-mdias-annual-visual td:first-child { text-align: left; }
.sales-panel-app .sales-mdias-annual-visual th:not(:first-child),
.sales-panel-app .sales-mdias-annual-visual td:not(:first-child) { text-align: right; }

.sales-panel-app .sales-pbi-page.is-top-sold .sales-pbi-body { display: block; min-width: 0; padding: 16px; }
.sales-panel-app .sales-pbi-page.is-cut .sales-pbi-body { display: block; min-width: 0; padding: 12px; }
.sales-panel-app .sales-pbi-page.is-hamburger .sales-pbi-body { display: block; min-width: 0; padding: 12px; }
.sales-panel-app .sales-pbi-page.is-store-stock .sales-pbi-body { display: block; min-width: 0; padding: 12px; }
.sales-panel-app .sales-pbi-page.is-sections .sales-pbi-body { display: block; min-width: 0; padding: 14px; }
.sales-panel-app .sales-pbi-page.is-sections-monthly .sales-pbi-body { display: block; min-width: 0; padding: 14px; }
.sales-panel-app .sales-pbi-page.is-cheese .sales-pbi-body { display: block; min-width: 0; padding: 14px; }
.sales-panel-app .sales-pbi-page.is-section-sales .sales-pbi-body { display: block; min-width: 0; padding: 14px; }
.sales-panel-app .sales-pbi-page.is-representativity .sales-pbi-body { display: block; min-width: 0; padding: 14px; }
.sales-panel-app .sales-representativity-head { display: grid; grid-template-columns: minmax(620px, 1fr) 520px; gap: 24px; align-items: end; margin-bottom: 18px; }
.sales-panel-app .sales-representativity-head h2 { margin: 0; color: #ef6c32; font-size: clamp(36px, 3vw, 54px); line-height: .92; text-align: center; white-space: nowrap; }
.sales-panel-app .sales-representativity-toolbar { grid-template-columns: repeat(3, minmax(130px, 1fr)); margin: 0; }
.sales-panel-app .sales-representativity-visual { min-height: 620px; }
.sales-panel-app .sales-representativity-scroll { max-height: 580px; overflow: auto; }
.sales-panel-app .sales-representativity-visual table { width: min(100%, 840px); }
.sales-panel-app .sales-representativity-visual th:first-child { width: 46%; min-width: 360px; text-align: left; }
.sales-panel-app .sales-representativity-visual th:not(:first-child),
.sales-panel-app .sales-representativity-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-representativity-visual tbody tr:nth-child(even) td { background: #e9e9e9; }
.sales-panel-app .sales-representativity-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-section-sales-head { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 24px; align-items: end; margin-bottom: 14px; }
.sales-panel-app .sales-section-sales-head h2 { margin: 0; color: #ef6c32; font-size: clamp(38px, 3.2vw, 58px); line-height: .92; text-align: center; white-space: nowrap; }
.sales-panel-app .sales-section-sales-toolbar { grid-template-columns: repeat(5, minmax(115px, 1fr)); margin: 0; }
.sales-panel-app .sales-section-sales-visual { min-height: 620px; }
.sales-panel-app .sales-section-sales-scroll { max-height: 575px; overflow: auto; }
.sales-panel-app .sales-section-sales-visual table { width: min(100%, 1040px); }
.sales-panel-app .sales-section-sales-visual th:first-child { width: 40%; min-width: 330px; text-align: left; }
.sales-panel-app .sales-section-sales-visual thead tr:first-child th:not(:first-child) { text-align: center; }
.sales-panel-app .sales-section-sales-visual th:not(:first-child),
.sales-panel-app .sales-section-sales-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-section-sales-visual tbody tr.level-0 td { background: #ececec; font-weight: 700; }
.sales-panel-app .sales-section-sales-visual tbody tr.level-1 td { background: #fff; }
.sales-panel-app .sales-section-sales-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-cheese-head { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 24px; align-items: end; margin-bottom: 14px; }
.sales-panel-app .sales-cheese-head h2 { margin: 0; color: #ef6c32; font-size: clamp(38px, 3.2vw, 58px); line-height: .92; text-align: center; white-space: nowrap; }
.sales-panel-app .sales-cheese-toolbar { grid-template-columns: repeat(6, minmax(105px, 1fr)); margin: 0; }
.sales-panel-app .sales-cheese-visual { min-height: 620px; }
.sales-panel-app .sales-cheese-scroll { max-height: 575px; overflow: auto; }
.sales-panel-app .sales-cheese-visual table { width: min(100%, 760px); }
.sales-panel-app .sales-cheese-visual th:first-child { width: 68%; min-width: 390px; text-align: left; }
.sales-panel-app .sales-cheese-visual th:not(:first-child),
.sales-panel-app .sales-cheese-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-cheese-visual tbody tr.level-0 td { background: #ececec; font-weight: 700; }
.sales-panel-app .sales-cheese-visual tbody tr.level-1 td { background: #fff; }
.sales-panel-app .sales-cheese-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-sections-monthly-head { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 62px; }
.sales-panel-app .sales-sections-monthly-head h2 { margin: 0; color: #ef6c32; font-size: clamp(34px, 2.8vw, 50px); line-height: .9; text-align: center; white-space: nowrap; }
.sales-panel-app .sales-sections-monthly-head h2 span { display: block; }
.sales-panel-app .sales-sections-monthly-toolbar { grid-template-columns: repeat(4, minmax(125px, 1fr)); margin: 0; }
.sales-panel-app .sales-sections-monthly-visual { width: min(100%, 1250px); min-height: 235px; margin-inline: auto; }
.sales-panel-app .sales-sections-monthly-scroll { max-height: 470px; overflow: auto; }
.sales-panel-app .sales-sections-monthly-visual table { min-width: 1040px; }
.sales-panel-app .sales-sections-monthly-visual th:first-child { width: 260px; min-width: 260px; text-align: left; }
.sales-panel-app .sales-sections-monthly-visual thead tr:first-child th:not(:first-child) { text-align: center; }
.sales-panel-app .sales-sections-monthly-visual th:not(:first-child),
.sales-panel-app .sales-sections-monthly-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-sections-monthly-visual tbody tr.level-0 td { background: #ececec; font-weight: 700; }
.sales-panel-app .sales-sections-monthly-visual tbody tr.level-1 td { background: #fff; }
.sales-panel-app .sales-sections-monthly-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-sections-head { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 72px; }
.sales-panel-app .sales-sections-head h2 { margin: 0; color: #ef6c32; font-size: clamp(38px, 3.2vw, 58px); text-align: center; white-space: nowrap; }
.sales-panel-app .sales-sections-toolbar { grid-template-columns: repeat(4, minmax(125px, 1fr)); margin: 0; }
.sales-panel-app .sales-sections-visual { width: min(100%, 1220px); min-height: 230px; margin-inline: auto; }
.sales-panel-app .sales-sections-scroll { overflow: auto; }
.sales-panel-app .sales-sections-visual table { min-width: 1180px; }
.sales-panel-app .sales-sections-visual th:first-child { width: 300px; min-width: 300px; text-align: left; }
.sales-panel-app .sales-sections-visual th:not(:first-child),
.sales-panel-app .sales-sections-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-sections-visual tbody tr.level-0 td { background: #ececec; font-weight: 700; }
.sales-panel-app .sales-sections-visual tbody tr.level-1 td { background: #fff; }
.sales-panel-app .sales-sections-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-store-stock-head { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 22px; align-items: end; margin-bottom: 10px; }
.sales-panel-app .sales-store-stock-head h2 { margin: 0; color: #ef6c32; font-size: clamp(38px, 3.2vw, 58px); line-height: .92; text-align: center; white-space: nowrap; }
.sales-panel-app .sales-store-stock-head h2 span { display: block; margin-top: 8px; color: #222; font-size: 16px; }
.sales-panel-app .sales-store-stock-toolbar { grid-template-columns: repeat(4, minmax(130px, 1fr)); margin: 0; }
.sales-panel-app .sales-store-sales-visual { min-height: 285px; margin-bottom: 18px; }
.sales-panel-app .sales-store-matrix-visual { min-height: 270px; }
.sales-panel-app .sales-store-scroll { overflow: auto; }
.sales-panel-app .sales-store-sales-visual table { min-width: 1120px; }
.sales-panel-app .sales-store-matrix-visual table { min-width: 1450px; }
.sales-panel-app .sales-store-sales-visual th:first-child,
.sales-panel-app .sales-store-matrix-visual th:first-child { min-width: 290px; text-align: left; }
.sales-panel-app .sales-store-sales-visual th:not(:first-child),
.sales-panel-app .sales-store-sales-visual td:not(:first-child),
.sales-panel-app .sales-store-matrix-visual th:not(:first-child),
.sales-panel-app .sales-store-matrix-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-hamburger-head { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 20px; align-items: end; margin-bottom: 24px; }
.sales-panel-app .sales-hamburger-head h2 { margin: 0; color: #ef6c32; font-size: clamp(38px, 3.2vw, 58px); white-space: nowrap; }
.sales-panel-app .sales-hamburger-toolbar { grid-template-columns: repeat(6, minmax(115px, 1fr)); margin: 0; }
.sales-panel-app .sales-hamburger-visual { min-height: 610px; }
.sales-panel-app .sales-hamburger-scroll { max-height: 575px; overflow: auto; }
.sales-panel-app .sales-hamburger-visual th:first-child { width: 48%; min-width: 360px; text-align: left; }
.sales-panel-app .sales-hamburger-visual th:not(:first-child),
.sales-panel-app .sales-hamburger-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-hamburger-visual tbody tr.level-0 td { background: #ececec; font-weight: 700; }
.sales-panel-app .sales-hamburger-visual tbody tr.level-1 td { background: #fff; }
.sales-panel-app .sales-hamburger-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-cut-head { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 24px; align-items: end; margin-bottom: 28px; }
.sales-panel-app .sales-cut-head h2 { margin: 0; color: #ef6c32; font-size: clamp(36px, 3vw, 54px); line-height: 1; text-align: center; }
.sales-panel-app .sales-cut-head h2 span { display: block; }
.sales-panel-app .sales-cut-toolbar { grid-template-columns: repeat(3, minmax(145px, 1fr)); margin: 0; }
.sales-panel-app .sales-cut-visual { min-height: 560px; }
.sales-panel-app .sales-cut-scroll { max-height: 530px; overflow: auto; }
.sales-panel-app .sales-cut-visual th:first-child { width: 34%; min-width: 260px; text-align: left; }
.sales-panel-app .sales-cut-visual th:not(:first-child),
.sales-panel-app .sales-cut-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-cut-visual tbody tr.level-0 td { background: #ececec; font-weight: 700; }
.sales-panel-app .sales-cut-visual tbody tr.level-1 td { background: #fff; }
.sales-panel-app .sales-cut-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }
.sales-panel-app .sales-top-sold-layout { display: grid; grid-template-columns: 270px minmax(620px, 1fr); gap: 28px; align-items: start; min-height: 650px; }
.sales-panel-app .sales-top-sold-side { padding: 8px 0 0 8px; }
.sales-panel-app .sales-top-sold-side h2 { margin: 0 0 34px; color: #ef6c32; font-size: clamp(38px, 3vw, 58px); line-height: .95; white-space: nowrap; }
.sales-panel-app .sales-top-sold-filters { display: grid; gap: 20px; max-width: 185px; }
.sales-panel-app .sales-top-sold-side img { display: block; width: 200px; max-height: 230px; object-fit: contain; margin: 90px auto 0; opacity: .16; }
.sales-panel-app .sales-top-sold-visual { width: min(100%, 760px); min-height: 640px; margin-inline: auto; }
.sales-panel-app .sales-top-sold-visual h3 { font-size: 18px; }
.sales-panel-app .sales-top-sold-scroll { max-height: 590px; overflow: auto; }
.sales-panel-app .sales-top-sold-visual table { width: 100%; }
.sales-panel-app .sales-top-sold-visual th:first-child,
.sales-panel-app .sales-top-sold-visual td:first-child { width: 58%; text-align: left; }
.sales-panel-app .sales-top-sold-visual th:not(:first-child),
.sales-panel-app .sales-top-sold-visual td:not(:first-child) { text-align: right; white-space: nowrap; }
.sales-panel-app .sales-top-sold-visual tbody tr:nth-child(even) td { background: #ececec; }

@media (max-width: 1050px) {
  .sales-panel-app .sales-top-sold-layout { grid-template-columns: 1fr; }
  .sales-panel-app .sales-top-sold-side { display: grid; grid-template-columns: auto 1fr; gap: 18px; }
  .sales-panel-app .sales-top-sold-side h2 { margin: 0; }
  .sales-panel-app .sales-top-sold-filters { grid-template-columns: repeat(3, minmax(140px, 1fr)); max-width: none; }
  .sales-panel-app .sales-top-sold-side img { display: none; }
  .sales-panel-app .sales-top-sold-visual { width: 100%; }
}

@media (max-width: 1100px) {
  .sales-panel-app .sales-mdias-compare-head { grid-template-columns: 1fr; }
  .sales-panel-app .sales-mdias-compare-head h2 { text-align: left; }
  .sales-panel-app .sales-mdias-compare-toolbar { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

.sales-panel-app .sales-pbi-page.is-rca-clients .sales-pbi-body { min-width: 0; }

.sales-panel-app .sales-pbi-body:has(.sales-rca-client-visual) { display: block; }

.sales-panel-app .sales-rca-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.sales-panel-app .sales-rca-client-visual {
  min-height: clamp(520px, calc(100vh - 250px), 760px);
  overflow: hidden;
}

.sales-panel-app .sales-rca-client-scroll {
  max-height: calc(100vh - 285px);
  overflow: auto;
}

.sales-panel-app .sales-rca-client-visual table { min-width: 760px; }
.sales-panel-app .sales-rca-client-visual th:first-child { width: 42%; text-align: left; }
.sales-panel-app .sales-rca-client-visual td:not(:first-child),
.sales-panel-app .sales-rca-client-visual th:not(:first-child) { text-align: right; }
.sales-panel-app .sales-rca-client-visual tbody tr.level-0 td { background: #eee; font-weight: 800; }
.sales-panel-app .sales-rca-client-visual tbody tr.level-1 td { background: #fafafa; }
.sales-panel-app .sales-rca-client-visual tfoot th { position: sticky; bottom: 0; z-index: 3; }

@media (max-width: 900px) {
  .sales-panel-app .sales-rca-toolbar { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
  .sales-panel-app .sales-peso-toolbar { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

@media (max-width: 1100px) {
  .sales-panel-app .sales-supplier-grid {
    grid-template-columns: 1fr;
    height: auto;
  }
}

.sales-panel-app .sales-pbi-page.is-products {
  display: block;
}

.sales-panel-app .sales-pbi-page.is-products .sales-pbi-body {
  display: block;
}

.sales-panel-app .sales-product-toolbar {
  display: grid;
  grid-template-columns: repeat(6, minmax(145px, 1fr));
  gap: .65rem;
  margin-bottom: .8rem;
  padding: .75rem;
  border: 1px solid rgba(244, 122, 63, .35);
  border-radius: 8px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 5px 16px rgba(72, 33, 16, .12);
}

.sales-panel-app .sales-product-filter {
  display: grid;
  gap: .28rem;
  min-width: 0;
  color: #181818;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.sales-panel-app .sales-product-input-wrap {
  position: relative;
  display: block;
}

.sales-panel-app .sales-product-input-wrap input {
  width: 100%;
  height: 34px;
  padding: .35rem 2rem .35rem .55rem;
  color: #fff;
  font-size: .84rem;
  font-weight: 800;
  border: 1px solid #ef6a2f;
  border-radius: 3px;
  outline: 0;
  background: #ef7842;
}

.sales-panel-app .sales-product-input-wrap input::placeholder { color: rgba(255,255,255,.9); }
.sales-panel-app .sales-product-input-wrap input::-webkit-calendar-picker-indicator { filter: invert(1); }
.sales-panel-app .sales-product-input-wrap input:focus { box-shadow: 0 0 0 3px rgba(239,120,66,.22); }

.sales-panel-app .sales-product-input-wrap > i,
.sales-panel-app .sales-product-input-wrap > button {
  position: absolute;
  top: 50%;
  right: .58rem;
  color: #fff;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
}

.sales-panel-app .sales-product-input-wrap > i { pointer-events: none; }

.sales-panel-app .sales-product-matrix {
  position: relative;
  min-height: 490px;
  overflow: hidden;
  border: 1px solid #686868;
  border-radius: 8px;
  background: rgba(255,255,255,.97);
  box-shadow: 3px 4px 12px rgba(0,0,0,.18);
}

.sales-panel-app .sales-product-matrix::after {
  content: "";
  position: absolute;
  inset: 105px 30% 28px;
  z-index: 0;
  opacity: .11;
  pointer-events: none;
  background: none;
}

.sales-panel-app .sales-product-matrix h3 {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: .35rem .7rem;
  color: #171717;
  font-size: 1.08rem;
  font-weight: 900;
  text-align: center;
  background: #fff;
}

.sales-panel-app .sales-product-scroll {
  position: relative;
  z-index: 1;
  max-height: clamp(430px, calc(100vh - 395px), 650px);
  overflow: auto;
}

.sales-panel-app .sales-product-scroll table {
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  color: #111;
  font-size: .77rem;
  background: rgba(255,255,255,.84);
}

.sales-panel-app .sales-product-scroll th,
.sales-panel-app .sales-product-scroll td {
  min-width: 112px;
  padding: .32rem .45rem;
  text-align: right;
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,.32);
  border-bottom: 1px solid #ddd;
}

.sales-panel-app .sales-product-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  color: #fff;
  font-weight: 900;
  text-align: center;
  background: #ef6a2f;
}

.sales-panel-app .sales-product-scroll thead tr:nth-child(2) th { top: 30px; background: #d85d28; }
.sales-panel-app .sales-product-scroll .sales-product-name-head,
.sales-panel-app .sales-product-scroll tbody td:first-child,
.sales-panel-app .sales-product-scroll tfoot th:first-child {
  position: sticky;
  left: 0;
  min-width: 355px;
  max-width: 355px;
  text-align: left;
}
.sales-panel-app .sales-product-scroll thead .sales-product-name-head { z-index: 6; }
.sales-panel-app .sales-product-scroll tbody td:first-child { z-index: 3; background: #f3f3f3; }
.sales-panel-app .sales-product-scroll tbody tr:nth-child(even) td { background: rgba(231,231,231,.78); }
.sales-panel-app .sales-product-scroll tbody tr:nth-child(even) td:first-child { background: #e7e7e7; }
.sales-panel-app .sales-product-scroll tbody tr.level-0 td { font-weight: 900; background: #eee; }
.sales-panel-app .sales-product-scroll tbody tr.level-1 td { font-weight: 800; }
.sales-panel-app .sales-product-scroll tfoot th { position: sticky; bottom: 0; z-index: 4; color: #111; background: #f2f2f2; border-top: 2px solid #ef6a2f; }
.sales-panel-app .sales-product-scroll tfoot th:first-child { z-index: 5; }
.sales-panel-app .sales-product-empty { padding: 3rem; color: #666; text-align: center; font-weight: 700; }

@media (max-width: 1250px) {
  .sales-panel-app .sales-product-toolbar { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
}

.sales-panel-app .sales-rentability-page {
  display: grid;
  gap: .85rem;
}

.sales-panel-app .sales-rentability-toolbar {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.sales-panel-app .sales-rentability-visual {
  min-height: clamp(440px, calc(100vh - 390px), 650px);
  background: rgba(255,255,255,.96);
}

.sales-panel-app .sales-rentability-table-wrap {
  position: relative;
  min-height: 390px;
  overflow: auto;
}

.sales-panel-app .sales-rentability-table-wrap::after {
  content: "";
  position: absolute;
  inset: 80px 32% 30px;
  z-index: 0;
  opacity: .1;
  pointer-events: none;
  background: none;
}

.sales-panel-app .sales-rentability-table-wrap table {
  position: relative;
  z-index: 1;
  width: 100%;
  border-collapse: collapse;
  color: #111;
  font-size: .88rem;
  background: rgba(255,255,255,.82);
}

.sales-panel-app .sales-rentability-table-wrap th,
.sales-panel-app .sales-rentability-table-wrap td {
  padding: .62rem .75rem;
  text-align: right;
  border-bottom: 1px solid #ddd;
}

.sales-panel-app .sales-rentability-table-wrap th:first-child,
.sales-panel-app .sales-rentability-table-wrap td:first-child { text-align: left; }
.sales-panel-app .sales-rentability-table-wrap thead th { color: #fff; background: #ef6a2f; }
.sales-panel-app .sales-rentability-table-wrap tbody tr:nth-child(even) { background: rgba(230,230,230,.72); }
.sales-panel-app .sales-rentability-table-wrap tbody td:first-child { color: #ef6a2f; text-transform: capitalize; border-left: 4px solid #111; }
.sales-panel-app .sales-rentability-table-wrap tfoot th { color: #111; background: #eee; border-top: 2px solid #ef6a2f; }

.sales-panel-app .sales-visual {
  min-width: 0;
  overflow: hidden;
  color: #111;
  border: 1px solid #686868;
  border-radius: 7px;
  background: #fff;
  box-shadow: 3px 3px 8px rgba(0,0,0,.18);
}

.sales-panel-app .sales-visual h3 {
  margin: 0;
  padding: .2rem .6rem 0;
  color: #111;
  font-size: 1.1rem;
  font-weight: 900;
  text-align: center;
}

.sales-panel-app .sales-month-line {
  display: grid;
  grid-template-columns: 1.1fr repeat(4, 1fr);
  gap: .65rem;
  align-items: center;
  width: 100%;
  padding: .65rem .85rem;
  color: #111;
  text-align: left;
  border: 0;
  background: transparent;
}

.sales-panel-app .sales-month-line:hover {
  background: rgba(234, 106, 50, .08);
}

.sales-panel-app .sales-month-line > strong {
  padding-left: .65rem;
  color: var(--sales-orange);
  font-size: 1.2rem;
  border-left: 4px solid #111;
}

.sales-panel-app .sales-month-line span {
  display: grid;
  gap: .15rem;
  align-content: center;
  min-height: 52px;
}

.sales-panel-app .sales-month-line b {
  color: #111;
  font-size: .95rem;
  font-weight: 900;
}

.sales-panel-app .sales-month-line small {
  color: #111;
  font-size: .78rem;
  font-weight: 900;
}

.sales-panel-app .sales-table-visual {
  overflow: auto;
}

.sales-panel-app .sales-table-visual table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: .82rem;
}

.sales-panel-app .sales-table-visual th {
  position: sticky;
  top: 0;
  padding: .33rem .45rem;
  color: #fff;
  background: #ea6a32;
  font-weight: 800;
}

.sales-panel-app .sales-table-visual td {
  padding: .22rem .45rem;
  color: #222;
  border-bottom: 1px solid #e5e5e5;
  font-weight: 700;
  white-space: nowrap;
}

.sales-panel-app .sales-table-visual tbody tr:nth-child(even) td {
  background: #efefef;
}

.sales-panel-app .sales-table-row {
  cursor: pointer;
}

.sales-panel-app .sales-load-more {
  display: block;
  width: 100%;
  margin-top: .5rem;
  padding: .45rem .6rem;
  color: #ea6a32;
  font-size: .82rem;
  font-weight: 800;
  text-align: center;
  background: #fff;
  border: 1px dashed #ea6a32;
  border-radius: 6px;
  cursor: pointer;
}

.sales-panel-app .sales-load-more:hover {
  background: #fff1e9;
}

.sales-panel-app .sales-table-row:hover td {
  background: rgba(234, 106, 50, .14) !important;
}

.sales-panel-app .sales-table-row.level-0 td {
  font-weight: 900;
  background: #f7f7f7;
}

.sales-panel-app .sales-table-row.level-1 td {
  background: #dddddd;
  font-weight: 900;
}

.sales-panel-app .sales-table-row.level-2 td {
  background: #f3f3f3;
  font-weight: 600;
}

.sales-panel-app .sales-tree-cell {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 100%;
}

.sales-panel-app .sales-tree-toggle,
.sales-panel-app .sales-tree-spacer {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
}

.sales-panel-app .sales-tree-toggle {
  color: #cf5520;
  font-family: "Font Awesome 6 Free";
  font-size: .58rem;
  font-weight: 900;
  line-height: 1;
  border: 1px solid #f1b79d;
  border-radius: 50%;
  background: #fff2eb;
  box-shadow: 0 2px 6px rgba(190, 72, 25, .12);
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

.sales-panel-app .sales-tree-toggle:hover {
  color: #fff;
  border-color: #df672f;
  background: #e76a32;
  transform: scale(1.08);
}

.sales-panel-app .sales-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  width: 100%;
  margin: 0 0 .55rem;
}

.sales-panel-app .sales-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  max-width: 280px;
  min-height: 30px;
  padding: .25rem .55rem;
  overflow: hidden;
  color: #111;
  font-size: .78rem;
  font-weight: 900;
  border: 1px solid rgba(234, 106, 50, .45);
  border-radius: 5px;
  background: #fff;
}

.sales-panel-app .sales-filter-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-panel-app .sales-filter-chip i {
  color: #ea6a32;
}

.sales-panel-app .sales-bars-visual {
  position: relative;
  padding: .35rem 1rem 4.7rem .75rem;
}

.sales-panel-app .sales-bar-row {
  display: grid;
  grid-template-columns: minmax(150px, 39%) minmax(80px, 1fr) minmax(96px, auto);
  gap: .55rem;
  align-items: center;
  width: 100%;
  min-height: 23px;
  padding: 0;
  color: #111;
  font-size: .78rem;
  font-weight: 900;
  border: 0;
  background: transparent;
}

.sales-panel-app .sales-refresh-overlay {
  position: absolute;
  right: 1.1rem;
  top: .8rem;
  z-index: 3;
  padding: .28rem .55rem;
  color: #111;
  font-size: .76rem;
  font-weight: 900;
  border: 1px solid rgba(234, 106, 50, .35);
  border-radius: 5px;
  background: rgba(255,255,255,.92);
}

.sales-panel-app .sales-bar-row:hover,
.sales-panel-app .sales-bar-row.active {
  background: rgba(234, 106, 50, .12);
}

.sales-panel-app .sales-bar-row.active b {
  background: #b83e12;
}

.sales-panel-app .sales-bar-row span {
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-panel-app .sales-bar-row b {
  display: block;
  height: 18px;
  min-width: 4px;
  background: #ea6a32;
}

.sales-panel-app .sales-bar-row em {
  color: #111;
  font-style: normal;
  white-space: nowrap;
}

/* Valor negativo (devolucoes/estornos > vendas no periodo): a barra usa uma
   cor de alerta em vez do laranja de venda, e o valor some em vermelho para
   nao parecer mais uma venda "pequena" dentro do ranking. */
.sales-panel-app .sales-bar-row.is-negative b {
  background: #c0392b;
}

.sales-panel-app .sales-bar-row.is-negative:hover,
.sales-panel-app .sales-bar-row.is-negative.active {
  background: rgba(192, 57, 43, .12);
}

.sales-panel-app .sales-bar-row.is-negative.active b {
  background: #8e2a1f;
}

.sales-panel-app .sales-bar-row.is-negative em {
  color: #c0392b;
  font-weight: 900;
}

.sales-panel-app .sales-bar-negative-icon {
  margin-left: .3rem;
  color: #c0392b;
  font-size: .74rem;
}

.sales-panel-app .sales-detail-button {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  min-width: 150px;
  min-height: 44px;
  color: #111;
  font-weight: 900;
  border: 1px solid #111;
  border-radius: 11px;
  background: #fff;
}

.sales-panel-app .sales-clear-filter {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 190px);
  min-height: 34px;
  padding: .35rem .65rem;
  overflow: hidden;
  color: #111;
  font-size: .78rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  background: #fff;
}

.sales-panel-app .sales-visual-loading,
.sales-panel-app .sales-visual-error {
  display: grid;
  min-height: 320px;
  place-items: center;
  padding: 1rem;
  color: #333;
  font-weight: 800;
  text-align: center;
  border: 1px solid var(--sales-border);
  border-radius: 8px;
  background: #fff;
}

.sales-panel-app .sales-visual-error {
  color: #c42b2b;
}

.sales-panel-app .home-report-copy small {
  color: #333;
}

.home-report-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  width: 100%;
  min-height: 82px;
  padding: .9rem;
  color: var(--bs-body-color);
  text-align: left;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .96);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.home-report-card:hover {
  border-color: rgba(var(--bs-primary-rgb), .36);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .10);
  transform: translateY(-1px);
}

.home-report-icon,
.home-report-action {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 8px;
}

.home-report-icon {
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .10);
}

.home-report-action {
  color: var(--bs-secondary-color);
}

.home-report-copy {
  min-width: 0;
}

.home-report-copy strong,
.home-report-copy small {
  display: block;
}

.home-report-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-report-copy small {
  margin-top: .15rem;
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.home-empty-state {
  display: block;
  padding: 1rem;
  color: var(--bs-secondary-color);
  border: 1px dashed rgba(var(--bs-body-color-rgb), .18);
  border-radius: 8px;
}

.tv-mode .dashboard-app {
  padding: .75rem 1rem;
}

.tv-mode .dashboard-header {
  margin-bottom: 1rem;
}

.tv-mode .dashboard-header h1 {
  font-size: 2rem;
}

.tv-mode #theme-switcher,
.tv-mode #logout-form,
.tv-mode #dashboard-refresh-snapshots,
.tv-mode #dashboard-tv-mode {
  display: none !important;
}

.tv-mode .indicator-card {
  padding: 1rem;
  box-shadow: none;
  min-height: 170px;
}

.tv-mode .indicator-card strong {
  font-size: inherit;
}

.tv-mode .indicator-card-value {
  font-size: clamp(2rem, 2.9vw, 3rem);
}

.tv-mode .chart-box {
  min-height: 360px;
}

.tv-mode .admin-panel {
  display: none;
}

@media (min-width: 1400px) {
  .cards-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.report-dialog {
  width: calc(100vw - 32px);
  max-width: none;
  height: calc(100vh - 32px);
  margin: 16px auto;
}

/* Nao cobrir o sidebar: o relatorio fica contido na area de conteudo. */
.app-with-sidebar .report-dialog {
  width: calc(100vw - var(--sidebar-width) - 32px);
  max-width: calc(100vw - var(--sidebar-width) - 32px);
  margin: 16px auto 16px calc(var(--sidebar-width) + 16px);
}

@media (max-width: 900px) {
  .app-with-sidebar .report-dialog {
    width: calc(100vw - 32px);
    max-width: none;
    margin: 16px auto;
  }
}

.report-modal-content {
  height: 100%;
  border: 0;
  border-radius: 8px;
  overflow: hidden;
}

.report-header {
  min-height: 64px;
  padding: .75rem 1rem;
  align-items: center;
}

.report-kicker {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .75rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
}

.report-header .modal-title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: .2rem 0 0;
}

.report-toolbar {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.report-columns-menu {
  max-height: 420px;
  min-width: 260px;
  overflow: auto;
  padding: .5rem;
}

.report-column-option {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .35rem .4rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: .84rem;
}

.report-column-option:hover {
  background: rgba(var(--bs-primary-rgb), .1);
}

.report-body {
  height: calc(100% - 64px);
  padding: .75rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#report-alert {
  flex: 0 0 auto;
}

#report-alert .alert {
  padding: .5rem .75rem;
  margin-bottom: .75rem;
  border-radius: 6px;
}

.report-filter-zone {
  flex: 0 0 auto;
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .55rem .7rem;
  margin-bottom: .75rem;
  border: 1px dashed var(--bs-border-color);
  border-radius: 6px;
  background: rgba(var(--bs-primary-rgb), .05);
  overflow-x: auto;
}

.report-filter-zone.drag-over {
  border-color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .14);
}

.report-filter-zone-hint {
  flex: 0 0 auto;
  color: var(--bs-secondary-color);
  font-size: .82rem;
  font-weight: 600;
}

.report-filter-pills {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: nowrap;
}

.report-filter-pill {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex: 0 0 auto;
  padding: .35rem .45rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 6px;
  background: var(--bs-body-bg);
}

.report-filter-drag-ghost {
  display: flex;
  align-items: center;
  padding: .35rem .6rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 6px;
  background: var(--bs-body-bg);
  font-size: .82rem;
  font-weight: 600;
}

.report-filter-pill label {
  margin: 0;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.report-filter-multiselect {
  position: relative;
}

.report-filter-toggle {
  min-width: 130px;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: .2rem .55rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 5px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: .8rem;
  text-align: left;
}

.report-filter-panel {
  position: fixed;
  z-index: 1080;
  width: 260px;
  max-height: 320px;
  display: flex;
  flex-direction: column;
  padding: .5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
  background: var(--bs-body-bg);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

.report-filter-search {
  width: 100%;
  margin-bottom: .4rem;
  padding: .3rem .5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 5px;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: .8rem;
}

.report-filter-actions {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .4rem;
}

.report-filter-actions button {
  flex: 1 1 auto;
  padding: .2rem .4rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 5px;
  background: transparent;
  color: var(--bs-primary);
  font-size: .72rem;
  font-weight: 700;
}

.report-filter-option input[type="checkbox"] {
  flex: 0 0 auto;
}

.report-filter-remove {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.report-filter-multiselect {
  position: relative;
}

.report-filter-summary {
  min-width: 140px;
  max-width: 220px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-filter-options-floating {
  position: fixed;
  z-index: 1050;
  min-width: 220px;
  max-height: 260px;
  overflow-y: auto;
  padding: .4rem;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.report-filter-options-floating[hidden] {
  display: none;
}

.report-filter-option {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .25rem .3rem;
  font-size: .82rem;
  font-weight: 400;
  text-transform: none;
  border-radius: 4px;
  white-space: nowrap;
  cursor: pointer;
  color: var(--bs-body-color);
}

.report-filter-option:hover {
  background: rgba(var(--bs-primary-rgb), .08);
}

.report-filter-option-all {
  border-bottom: 1px solid var(--bs-border-color);
  margin-bottom: .25rem;
  padding-bottom: .4rem;
}

.report-table-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--bs-border-color);
  border-radius: 6px;
}

.report-table-shell .dataTables_wrapper,
.report-table-shell .dt-container {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.report-table-shell .dt-buttons {
  display: none;
}

.report-table-shell .dataTables_filter,
.report-table-shell .dt-search {
  margin-bottom: .6rem;
  text-align: right;
}

.report-table-shell .dataTables_filter input,
.report-table-shell .dt-search input {
  min-width: 280px;
  border-radius: 4px;
}

#report-table {
  font-size: .78rem;
  margin: 0 !important;
  white-space: nowrap;
  width: max-content !important;
  min-width: 100%;
}

#report-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #202020;
  color: #f8f9fa;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  font-size: .72rem;
  text-transform: uppercase;
  cursor: grab;
  user-select: none;
  min-width: 56px;
}

#report-table thead th.sorting,
#report-table thead th.sorting_asc,
#report-table thead th.sorting_desc {
  color: #f8f9fa;
}

#report-table thead th:active {
  cursor: grabbing;
}

#report-table thead th.report-drop-target {
  box-shadow: inset 3px 0 0 var(--bs-primary);
}

.report-resize-handle {
  position: absolute;
  top: 0;
  right: -3px;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  z-index: 4;
}

#report-table thead th {
  position: sticky;
}

#report-table tbody td {
  vertical-align: top;
  border-color: rgba(128, 128, 128, .18);
}

#report-table tbody tr:hover td {
  background: rgba(var(--bs-primary-rgb), .08);
}

.report-table-shell .dataTables_info,
.report-table-shell .dt-info,
.report-table-shell .dataTables_paginate,
.report-table-shell .dt-paging {
  padding-top: .6rem;
  font-size: .8rem;
}

.metric {
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 1rem;
}

.metric strong {
  display: block;
  font-size: 2rem;
}

.admin-actions {
  display: flex;
  gap: .35rem;
}

.sql-preview {
  max-width: 420px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.relation-group {
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.relation-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .5rem .75rem;
}

.goals-app {
  max-width: 1460px;
  margin: 0 auto;
  padding-bottom: 2rem;
}

.goals-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.goals-kicker {
  display: block;
  margin-bottom: .25rem;
  color: var(--bs-secondary-color);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goals-hero h1 {
  margin: 0;
  font-size: clamp(2.25rem, 3vw, 3.35rem);
  line-height: 1.05;
}

.goals-hero p {
  margin: .4rem 0 0;
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.goals-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.goals-controls #goals-month {
  width: 190px;
}

.stock-comparison-app {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding-bottom: 2rem;
}

.app-with-sidebar .stock-comparison-app {
  width: calc(100vw - var(--sidebar-width) - 3rem);
  max-width: calc(100vw - var(--sidebar-width) - 3rem);
}

.stock-comparison-hero {
  align-items: flex-end;
}

.stock-comparison-controls,
.stock-period-form {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: .5rem;
  flex-wrap: wrap;
}

.stock-period-form .form-control {
  width: 165px;
}

.stock-period-form #stock-month {
  width: 150px;
}

.stock-comparison-controls .btn {
  min-height: 38px;
}

.stock-routine-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.stock-routine-map article {
  display: grid;
  gap: .25rem;
  min-height: 120px;
  padding: 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .76);
}

.stock-routine-map span {
  color: var(--bs-primary);
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1;
}

.stock-routine-map strong {
  font-size: 1.05rem;
}

/* Sales dashboards: fluid application layout */
.sales-panel-app {
  --sales-surface: #ffffff;
  --sales-canvas: #f5f6f8;
  --sales-text: #29241f;
  --sales-muted: #746b65;
  --sales-line: #e8e1dc;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  min-height: calc(100vh - 3rem);
  padding: clamp(.75rem, 1.4vw, 1.5rem);
  color: var(--sales-text);
  background: var(--sales-canvas);
}

.sales-panel-app #dashboard-cards {
  display: none;
}

.app-with-sidebar .sales-panel-app {
  margin: -1.5rem;
}

.sales-panel-app .home-dashboard-hero,
.sales-panel-app #dashboard-snapshot-status,
.sales-panel-app #dashboard-cards,
.sales-panel-app #dashboard-charts,
.sales-panel-app .home-reports-panel {
  grid-column: 1;
}

.sales-panel-app .home-dashboard-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
  color: var(--sales-text);
  border: 1px solid var(--sales-line);
  border-radius: 16px;
  background: linear-gradient(135deg, #fff 0%, #fff8f3 100%);
  box-shadow: 0 10px 30px rgba(71, 48, 35, .07);
}

.sales-panel-app .home-dashboard-kicker {
  color: var(--sales-orange-dark);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.sales-panel-app .home-dashboard-hero h1 {
  max-width: none;
  margin: .2rem 0 0;
  overflow: visible;
  color: var(--sales-text);
  font-size: clamp(1.9rem, 3.2vw, 3.4rem);
  line-height: 1.05;
  white-space: normal;
}

.sales-panel-app .refresh-control {
  color: var(--sales-muted);
}

.sales-panel-app .refresh-control .form-select,
.sales-panel-app .refresh-control .input-group-text,
.sales-panel-app .dashboard-controls .btn {
  color: var(--sales-text);
  border-color: var(--sales-line);
  background: #fff;
}

.sales-panel-app .cards-grid,
.sales-panel-app .sales-cards-row {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: .85rem;
  margin: 0;
  position: static;
}

.sales-panel-app .indicator-card {
  min-width: 0;
  min-height: 104px;
  padding: 1rem;
  justify-content: flex-start;
  text-align: left;
  border: 1px solid var(--sales-line);
  border-radius: 14px;
  background: var(--sales-surface);
  box-shadow: 0 8px 24px rgba(71, 48, 35, .06);
}

.sales-panel-app .indicator-card h2 {
  margin-bottom: .35rem;
  color: var(--sales-muted);
  font-size: .78rem;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.sales-panel-app .indicator-card-value {
  max-width: 100%;
  overflow: hidden;
  color: var(--sales-text);
  font-size: clamp(1.65rem, 2.5vw, 2.8rem);
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-panel-app .home-reports-panel,
.sales-panel-app .home-reports-panel:has(.sales-vue-shell) {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.sales-panel-app .sales-vue-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.sales-panel-app .sales-vue-main {
  grid-column: 1;
  grid-row: auto;
  gap: 1rem;
  overflow: visible;
}

.sales-panel-app .sales-pages-sidebar {
  position: static;
  grid-column: 1;
  grid-row: auto;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--sales-line);
  border-radius: 14px;
  background: var(--sales-surface);
  box-shadow: 0 8px 24px rgba(71, 48, 35, .05);
}

.sales-panel-app .sales-pages-head {
  height: auto;
  min-height: 42px;
  padding: .65rem 1rem 0;
  border: 0;
}

.sales-panel-app .sales-pages-head strong {
  color: var(--sales-muted);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sales-panel-app .sales-pages-head i {
  display: none;
}

.sales-panel-app .sales-report-tabs {
  display: flex;
  gap: .4rem;
  width: 100%;
  height: auto;
  padding: .45rem .75rem .8rem;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.sales-panel-app .sales-report-tab {
  display: inline-flex;
  width: auto;
  min-width: max-content;
  min-height: 38px;
  align-items: center;
  gap: .5rem;
  flex: 0 0 auto;
  padding: .55rem .8rem;
  overflow: visible;
  color: var(--sales-muted);
  font-size: .76rem;
  font-weight: 800;
  text-align: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #f7f5f3;
  scroll-snap-align: start;
}

.sales-panel-app .sales-report-tab:hover {
  color: var(--sales-orange-dark);
  border-color: #f2c9b5;
  background: #fff7f2;
}

.sales-panel-app .sales-report-tab.active,
.sales-panel-app .sales-report-tab.completed.active {
  color: #fff;
  background: linear-gradient(135deg, var(--sales-orange), var(--sales-orange-dark));
  box-shadow: 0 5px 14px rgba(235, 103, 48, .24);
}

.sales-panel-app .sales-report-tab.active::before {
  display: none;
}

.sales-panel-app .sales-report-tab.completed {
  color: var(--sales-text);
  background: #f7f5f3;
}

.sales-panel-app .sales-report-tab.completed::after {
  color: #36a269;
  font-size: .68rem;
}

.sales-panel-app .sales-pbi-page,
.sales-panel-app .sales-pbi-page.is-rca-clients,
.sales-panel-app .sales-pbi-page.is-peso-rca,
.sales-panel-app .sales-pbi-page.is-products {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .85rem;
  min-width: 0;
  min-height: 0;
  padding: 0;
}

.sales-panel-app .sales-filter-confirm-bar {
  position: sticky;
  top: .5rem;
  z-index: 30;
  grid-column: 1;
  justify-content: space-between;
  min-width: 0;
  min-height: 48px;
  padding: .55rem .7rem .55rem 1rem;
  color: var(--sales-text);
  border: 1px solid var(--sales-line);
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 22px rgba(71, 48, 35, .09);
  backdrop-filter: blur(12px);
}

.sales-panel-app .sales-filter-confirm-bar button {
  min-height: 36px;
  padding: .45rem .9rem;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--sales-orange), var(--sales-orange-dark));
  box-shadow: 0 5px 14px rgba(235, 103, 48, .22);
}

.sales-panel-app .sales-filter-rail,
.sales-panel-app .sales-product-toolbar,
.sales-panel-app .sales-rca-toolbar,
.sales-panel-app .sales-peso-toolbar,
.sales-panel-app .sales-mdias-compare-toolbar,
.sales-panel-app .sales-representativity-toolbar,
.sales-panel-app .sales-section-sales-toolbar,
.sales-panel-app .sales-cheese-toolbar,
.sales-panel-app .sales-sections-monthly-toolbar,
.sales-panel-app .sales-sections-toolbar,
.sales-panel-app .sales-store-stock-toolbar,
.sales-panel-app .sales-hamburger-toolbar,
.sales-panel-app .sales-cut-toolbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr));
  gap: .7rem;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: .85rem;
  border: 1px solid var(--sales-line);
  border-radius: 12px;
  background: var(--sales-surface);
  box-shadow: 0 6px 20px rgba(71, 48, 35, .05);
}

.sales-panel-app .sales-filter-brand {
  display: none;
}

.sales-panel-app .sales-filter-box,
.sales-panel-app .sales-product-filter {
  gap: .35rem;
  min-width: 0;
}

.sales-panel-app .sales-filter-box span,
.sales-panel-app .sales-product-filter > span {
  color: var(--sales-muted);
  /* Legibilidade: caixa alta + fonte muito pequena prejudica leitura
     prolongada; mantemos a caixa alta (rotulo curto) mas com tamanho maior. */
  font-size: .78rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.sales-panel-app .sales-filter-box b,
.sales-panel-app .sales-filter-input,
.sales-panel-app .sales-multi-select > summary,
.sales-panel-app .sales-product-input-wrap input {
  min-height: 38px;
  color: var(--sales-text);
  border: 1px solid var(--sales-line);
  border-radius: 8px;
  background: #fff;
}

.sales-panel-app .sales-filter-input::placeholder,
.sales-panel-app .sales-product-input-wrap input::placeholder {
  color: #9b938e;
}

.sales-panel-app .sales-filter-input::-webkit-calendar-picker-indicator,
.sales-panel-app .sales-product-input-wrap input::-webkit-calendar-picker-indicator {
  filter: none;
}

.sales-panel-app .sales-filter-input:focus,
.sales-panel-app .sales-product-input-wrap input:focus,
.sales-panel-app .sales-multi-select[open] > summary {
  border-color: var(--sales-orange);
  box-shadow: 0 0 0 3px rgba(244, 122, 63, .14);
}

.sales-panel-app .sales-filter-box i,
.sales-panel-app .sales-product-input-wrap > i,
.sales-panel-app .sales-product-input-wrap > button,
.sales-panel-app .sales-filter-clear {
  color: var(--sales-orange-dark);
}

.sales-panel-app .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-products .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-mdias-compare .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-top-sold .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-cut .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-hamburger .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-store-stock .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-sections .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-sections-monthly .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-cheese .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-section-sales .sales-pbi-body,
.sales-panel-app .sales-pbi-page.is-representativity .sales-pbi-body {
  display: block;
  min-width: 0;
  padding: 0;
}

.sales-panel-app .sales-live-grid,
.sales-panel-app .sales-clients-grid,
.sales-panel-app .sales-retail-grid,
.sales-panel-app .sales-supplier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  gap: .9rem;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
}

.sales-panel-app .sales-live-left,
.sales-panel-app .sales-retail-left,
.sales-panel-app .sales-retail-right,
.sales-panel-app .sales-supplier-left,
.sales-panel-app .sales-clients-side {
  display: grid;
  grid-template-rows: none;
  gap: .9rem;
  min-width: 0;
  min-height: 0;
}

.sales-panel-app .sales-visual,
.sales-panel-app .sales-product-matrix {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--sales-line);
  border-radius: 14px;
  background: var(--sales-surface);
  box-shadow: 0 8px 26px rgba(71, 48, 35, .06);
}

.sales-panel-app .sales-visual h3,
.sales-panel-app .sales-product-matrix h3 {
  padding: .8rem 1rem;
  color: var(--sales-text);
  font-size: .95rem;
  text-align: left;
  border-bottom: 1px solid var(--sales-line);
}

.sales-panel-app .sales-month-visual,
.sales-panel-app .sales-clients-matrix,
.sales-panel-app .sales-retail-months,
.sales-panel-app .sales-retail-clients,
.sales-panel-app .sales-retail-tree,
.sales-panel-app .sales-supplier-months,
.sales-panel-app .sales-supplier-tree,
.sales-panel-app .sales-supplier-clients,
.sales-panel-app .sales-geo-table-wrap,
.sales-panel-app .sales-product-scroll,
.sales-panel-app .sales-rentability-table-wrap,
.sales-panel-app .sales-rca-client-scroll,
.sales-panel-app .sales-peso-rca-scroll,
.sales-panel-app .sales-mdias-table-scroll,
.sales-panel-app .sales-representativity-scroll,
.sales-panel-app .sales-section-sales-scroll,
.sales-panel-app .sales-cheese-scroll,
.sales-panel-app .sales-sections-monthly-scroll,
.sales-panel-app .sales-sections-scroll,
.sales-panel-app .sales-store-scroll,
.sales-panel-app .sales-hamburger-scroll,
.sales-panel-app .sales-cut-scroll,
.sales-panel-app .sales-top-sold-scroll,
.sales-panel-app .sales-table-visual {
  width: 100%;
  max-width: 100%;
  max-height: min(68vh, 760px);
  min-height: 0;
  overflow: auto;
  /* auto (nao "contain"): ao chegar no limite da tabela, a roda do mouse deve
     continuar rolando a pagina em vez de travar dentro do container. */
  overscroll-behavior: auto;
  scrollbar-gutter: stable;
}

.sales-panel-app .sales-month-visual,
.sales-panel-app .sales-retail-months,
.sales-panel-app .sales-retail-clients,
.sales-panel-app .sales-supplier-months,
.sales-panel-app .sales-supplier-clients {
  max-height: min(48vh, 520px);
}

.sales-panel-app .sales-geo-visual,
.sales-panel-app .sales-peso-rca-visual,
.sales-panel-app .sales-rca-client-visual,
.sales-panel-app .sales-mdias-monthly-visual,
.sales-panel-app .sales-mdias-annual-visual,
.sales-panel-app .sales-representativity-visual,
.sales-panel-app .sales-section-sales-visual,
.sales-panel-app .sales-cheese-visual,
.sales-panel-app .sales-sections-monthly-visual,
.sales-panel-app .sales-sections-visual,
.sales-panel-app .sales-store-sales-visual,
.sales-panel-app .sales-store-matrix-visual,
.sales-panel-app .sales-hamburger-visual,
.sales-panel-app .sales-cut-visual,
.sales-panel-app .sales-top-sold-visual,
.sales-panel-app .sales-rentability-visual {
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0 0 .9rem;
  overflow: hidden;
}

.sales-panel-app .sales-mdias-table-scroll {
  height: auto;
}

.sales-panel-app .sales-mdias-compare-head,
.sales-panel-app .sales-representativity-head,
.sales-panel-app .sales-section-sales-head,
.sales-panel-app .sales-cheese-head,
.sales-panel-app .sales-sections-monthly-head,
.sales-panel-app .sales-sections-head,
.sales-panel-app .sales-store-stock-head,
.sales-panel-app .sales-hamburger-head,
.sales-panel-app .sales-cut-head {
  display: grid;
  grid-template-columns: minmax(210px, .28fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: end;
  margin: 0 0 .9rem;
}

.sales-panel-app .sales-mdias-compare-head h2,
.sales-panel-app .sales-representativity-head h2,
.sales-panel-app .sales-section-sales-head h2,
.sales-panel-app .sales-cheese-head h2,
.sales-panel-app .sales-sections-monthly-head h2,
.sales-panel-app .sales-sections-head h2,
.sales-panel-app .sales-store-stock-head h2,
.sales-panel-app .sales-hamburger-head h2,
.sales-panel-app .sales-cut-head h2,
.sales-panel-app .sales-top-sold-side h2 {
  color: var(--sales-text);
  font-size: clamp(1.55rem, 2.2vw, 2.5rem);
  line-height: 1.05;
  text-align: left;
  white-space: normal;
}

.sales-panel-app .sales-top-sold-layout {
  display: grid;
  grid-template-columns: minmax(210px, .28fr) minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  min-height: 0;
}

.sales-panel-app .sales-top-sold-filters {
  max-width: none;
  gap: .7rem;
}

.sales-panel-app .sales-top-sold-side img {
  display: none;
}

.sales-panel-app .sales-month-line {
  min-width: 680px;
  padding: .7rem 1rem;
}

.sales-panel-app .sales-month-line > strong {
  font-size: 1rem;
}

.sales-panel-app .sales-month-line b,
.sales-panel-app .sales-month-line small {
  font-size: .76rem;
}

.sales-panel-app .sales-table-visual table,
.sales-panel-app .sales-product-scroll table {
  width: max-content;
  min-width: 100%;
}

.sales-panel-app .sales-table-visual th,
.sales-panel-app .sales-product-scroll thead th {
  top: 0;
  z-index: 5;
  color: #fff;
  background: #3d3733;
}

.sales-panel-app .sales-table-visual th,
.sales-panel-app .sales-table-visual td {
  padding: .55rem .65rem;
}

.sales-panel-app .sales-table-visual tbody tr:nth-child(even) td,
.sales-panel-app .sales-product-scroll tbody tr:nth-child(even) td {
  background: #faf9f8;
}

@media (max-width: 1100px) {
  .sales-panel-app .sales-mdias-compare-head,
  .sales-panel-app .sales-representativity-head,
  .sales-panel-app .sales-section-sales-head,
  .sales-panel-app .sales-cheese-head,
  .sales-panel-app .sales-sections-monthly-head,
  .sales-panel-app .sales-sections-head,
  .sales-panel-app .sales-store-stock-head,
  .sales-panel-app .sales-hamburger-head,
  .sales-panel-app .sales-cut-head,
  .sales-panel-app .sales-top-sold-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-panel-app .sales-top-sold-side {
    display: block;
    padding: 0;
  }
}

@media (max-width: 760px) {
  .app-with-sidebar .sales-panel-app {
    margin: -1rem;
  }

  .sales-panel-app {
    gap: .7rem;
    padding: .7rem;
  }

  .sales-panel-app .home-dashboard-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    border-radius: 12px;
  }

  .sales-panel-app .dashboard-controls {
    justify-self: stretch;
  }

  .sales-panel-app .sales-cards-row,
  .sales-panel-app .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sales-panel-app .sales-filter-confirm-bar {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }

  .sales-panel-app .sales-filter-confirm-bar button {
    width: 100%;
  }

  .sales-panel-app .sales-report-tab {
    min-height: 36px;
  }

  .sales-panel-app .sales-filter-rail,
  .sales-panel-app .sales-product-toolbar,
  .sales-panel-app .sales-rca-toolbar,
  .sales-panel-app .sales-peso-toolbar,
  .sales-panel-app .sales-mdias-compare-toolbar,
  .sales-panel-app .sales-representativity-toolbar,
  .sales-panel-app .sales-section-sales-toolbar,
  .sales-panel-app .sales-cheese-toolbar,
  .sales-panel-app .sales-sections-monthly-toolbar,
  .sales-panel-app .sales-sections-toolbar,
  .sales-panel-app .sales-store-stock-toolbar,
  .sales-panel-app .sales-hamburger-toolbar,
  .sales-panel-app .sales-cut-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-panel-app .sales-product-scroll .sales-product-name-head,
  .sales-panel-app .sales-product-scroll tbody td:first-child,
  .sales-panel-app .sales-product-scroll tfoot th:first-child {
    min-width: 230px;
    max-width: 230px;
  }
}

@media (max-width: 460px) {
  .sales-panel-app .sales-cards-row,
  .sales-panel-app .cards-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.stock-routine-map small {
  color: var(--bs-secondary-color);
  font-weight: 700;
  line-height: 1.35;
}

.accounting-map-app {
  max-width: none;
  padding: .85rem 1rem 2rem;
  overflow-x: auto;
}

.accounting-map-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem;
  width: min(100%, 1580px);
  margin: 0 auto .55rem;
}

#accounting-map-alert {
  width: min(100%, 1580px);
  margin: 0 auto;
}

.accounting-map-form {
  display: flex;
  align-items: flex-end;
  gap: .5rem;
  flex-wrap: wrap;
}

.accounting-map-form label {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 800;
}

.accounting-map-form input[type="month"] {
  width: 152px;
  min-height: 34px;
  padding-top: .25rem;
  padding-bottom: .25rem;
  font-size: .86rem;
}

.accounting-map-form .btn,
.accounting-map-toolbar .theme-select {
  min-height: 34px;
  padding: .32rem .7rem;
  font-size: .86rem;
}

.accounting-map-toolbar .theme-select {
  width: 180px;
}

.accounting-map-sheet {
  width: min(100%, 1580px);
  min-width: 1220px;
  margin: 0 auto;
  border: 1px solid #c6d1dc;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}

.accounting-map-title {
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1f5f8f;
  color: #fff;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.accounting-map-meta {
  min-height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  flex-wrap: wrap;
  padding: .15rem .45rem;
  color: #111827;
  font-size: .68rem;
  font-style: italic;
  border-bottom: 1px solid #d8e0e6;
}

.accounting-map-total-strip {
  min-height: 32px;
  display: grid;
  grid-template-columns: 1fr 190px 110px 110px 300px;
  align-items: center;
  background: #f8fafc;
  border-bottom: 1px solid #c6d1dc;
}

.accounting-map-total-strip strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: #ffe066;
  color: #1f2933;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
  border-left: 1px solid rgba(31, 41, 51, .12);
}

.accounting-map-total-strip strong:first-child {
  grid-column: 2;
}

.accounting-map-total-strip strong.is-long {
  font-size: .84rem;
}

.accounting-map-table-wrap {
  overflow-x: auto;
}

.accounting-map-table {
  width: 100%;
  border-collapse: collapse;
  color: #15202b;
  font-size: .69rem;
  table-layout: fixed;
}

.accounting-map-table th,
.accounting-map-table td {
  border: 1px solid #d2a987;
  padding: .22rem .34rem;
  vertical-align: middle;
}

.accounting-map-table thead th {
  position: relative;
  height: 32px;
  background: #2d79b5;
  color: #fff;
  font-weight: 800;
  text-align: center;
  border-color: #1e5d8e;
}

.accounting-map-table thead th button {
  position: absolute;
  right: 3px;
  bottom: 3px;
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1px solid #cfd8df;
  background: #eef3f7;
  color: #56616b;
  font-size: .58rem;
  border-radius: 2px;
}

.accounting-map-table tbody td {
  background: #f6d5b8;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-map-table tbody tr:nth-child(even) td {
  background: #f8ddc4;
}

.accounting-map-table tbody tr:hover td {
  background: #f1c399;
}

.accounting-map-table .accounting-map-account-col {
  width: 435px;
  text-align: left;
}

.accounting-map-table th:nth-child(2),
.accounting-map-table th:nth-child(8),
.accounting-map-table th:nth-child(9),
.accounting-map-table th:nth-child(10),
.accounting-map-table th:nth-child(11) {
  width: 105px;
}

.accounting-map-table th:nth-child(3),
.accounting-map-table th:nth-child(4),
.accounting-map-table th:nth-child(5) {
  width: 90px;
}

.accounting-map-table th:nth-child(6),
.accounting-map-table th:nth-child(7) {
  width: 28px;
}

.accounting-map-table th:nth-child(12) {
  width: 170px;
}

.accounting-map-table th:nth-child(13) {
  width: 160px;
}

.accounting-map-table .accounting-map-flag {
  text-align: center;
}

.accounting-map-table .accounting-map-report-used,
.accounting-map-table td:last-child {
  text-align: left;
}

.accounting-map-negative {
  color: #111;
}

.accounting-map-positive {
  color: #111;
}

.map-observation {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-weight: 800;
  white-space: nowrap;
}

.map-observation i {
  font-size: .82rem;
}

.map-danger i {
  color: #8f1f1f;
}

.map-ok i {
  color: #2d6a4f;
}

.accounting-map-empty {
  height: 90px;
  background: #f8ddc4 !important;
  color: #333;
  text-align: center !important;
  font-size: .95rem;
  font-weight: 700;
}

.stock-answer-panel {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
  border-left: 6px solid var(--bs-info);
}

.stock-answer-panel.tone-danger {
  border-left-color: var(--bs-danger);
}

.stock-answer-panel.tone-warning {
  border-left-color: var(--bs-warning);
}

.stock-answer-panel.tone-success {
  border-left-color: var(--bs-success);
}

.stock-answer-head h2 {
  max-width: 1120px;
  margin: 0;
  font-size: clamp(1.75rem, 2.6vw, 2.6rem);
  line-height: 1.08;
}

.stock-answer-head p {
  margin: .5rem 0 0;
  color: var(--bs-secondary-color);
  font-size: 1.05rem;
  font-weight: 800;
}

.stock-answer-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr 1.2fr;
  gap: .85rem;
}

.stock-answer-grid article,
.stock-answer-major {
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .72);
}

.stock-answer-grid article {
  display: grid;
  gap: .45rem;
  min-height: 150px;
  padding: 1rem;
}

.stock-answer-grid span,
.stock-answer-major > span {
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-answer-grid strong {
  font-size: 1rem;
  line-height: 1.45;
}

.stock-answer-major {
  display: grid;
  gap: .5rem;
  padding: 1rem;
}

.stock-answer-major > div {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 180px;
  gap: .75rem;
  align-items: center;
  padding-top: .55rem;
  border-top: 1px solid rgba(var(--bs-body-color-rgb), .10);
}

.stock-answer-major small {
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.stock-answer-major b {
  justify-self: end;
  color: var(--bs-danger);
  font-size: 1rem;
}

.stock-technical-details {
  margin-top: 1rem;
}

.stock-technical-details > summary {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  margin-bottom: 1rem;
  padding: .45rem .8rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .16);
  border-radius: 8px;
  cursor: pointer;
  color: var(--bs-secondary-color);
  font-weight: 800;
}

.stock-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .85rem;
}

.stock-metric {
  min-height: 112px;
  overflow: hidden;
}

.stock-metric span {
  display: flex;
  align-items: center;
  gap: .4rem;
  color: var(--bs-secondary-color);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.stock-metric strong {
  max-width: 100%;
  margin-top: .45rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.stock-verdict-panel {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
  border-left: 6px solid var(--bs-info);
}

.stock-verdict-panel.tone-danger {
  border-left-color: var(--bs-danger);
}

.stock-verdict-panel.tone-warning {
  border-left-color: var(--bs-warning);
}

.stock-verdict-panel.tone-success {
  border-left-color: var(--bs-success);
}

.stock-verdict-head h2 {
  max-width: 1080px;
  margin: 0;
  font-size: clamp(1.55rem, 2.2vw, 2.25rem);
  line-height: 1.12;
}

.stock-verdict-items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.stock-verdict-item {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: .45rem;
  min-height: 132px;
  padding: .85rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
}

.stock-verdict-item span {
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-verdict-item strong {
  align-self: start;
  font-size: .98rem;
  line-height: 1.35;
}

.stock-verdict-item em {
  justify-self: start;
  font-style: normal;
}

.stock-comparison-conclusion {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.stock-comparison-conclusion h2 {
  margin: 0;
  font-size: 1.25rem;
}

.stock-context-panel {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.stock-context-panel h2 {
  margin: 0 0 .35rem;
  font-size: 1.2rem;
}

.stock-context-points {
  display: grid;
  gap: .45rem;
  min-width: min(100%, 460px);
}

.stock-context-points span {
  display: flex;
  gap: .45rem;
  align-items: flex-start;
  color: var(--bs-secondary-color);
  font-size: .88rem;
  font-weight: 700;
}

.stock-accounting-panel {
  margin-bottom: 1rem;
}

.stock-equalization-panel {
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
  padding: 0;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-left: 0;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--bs-primary-rgb), .07), transparent 46%),
    rgba(var(--bs-body-bg-rgb), .96);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

.stock-equalization-panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  content: "";
  background: var(--bs-primary);
}

.stock-state-accounting::before,
.stock-state-stock::before {
  background: var(--bs-danger);
}

.stock-state-closed::before {
  background: var(--bs-success);
}

.stock-state-warning::before {
  background: var(--bs-warning);
}

.stock-equalization-app {
  max-width: 1180px;
}

.stock-equalization-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.35rem 1.45rem 1rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .08);
}

.stock-equalization-main > div {
  flex: 1 1 520px;
  min-width: 0;
}

.stock-equalization-title-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}

.stock-equalization-main h2 {
  margin: 0;
  color: var(--bs-body-color);
  font-size: clamp(1.8rem, 3vw, 3rem);
  letter-spacing: 0;
  line-height: 1.02;
}

.stock-state-accounting .stock-equalization-main h2,
.stock-state-stock .stock-equalization-main h2 {
  color: var(--bs-danger);
}

.stock-state-closed .stock-equalization-main h2 {
  color: var(--bs-success);
}

.stock-equalization-main p {
  margin: .45rem 0 0;
  color: var(--bs-secondary-color);
  font-size: 1rem;
  font-weight: 800;
}

.stock-action-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: .28rem .62rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 999px;
  color: var(--bs-secondary-color);
  background: rgba(var(--bs-body-bg-rgb), .72);
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-state-accounting .stock-action-badge,
.stock-state-stock .stock-action-badge {
  border-color: rgba(var(--bs-danger-rgb), .28);
  color: var(--bs-danger);
  background: rgba(var(--bs-danger-rgb), .08);
}

.stock-state-closed .stock-action-badge {
  border-color: rgba(var(--bs-success-rgb), .28);
  color: var(--bs-success);
  background: rgba(var(--bs-success-rgb), .08);
}

.stock-equalization-alert {
  margin: 0;
  padding: 1rem 1.45rem 0;
}

.stock-equalization-alert .alert {
  border-width: 0 0 0 4px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
}

.stock-loading-panel {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(var(--bs-primary-rgb), .22);
  border-radius: 8px;
  background: rgba(var(--bs-primary-rgb), .06);
}

.stock-loading-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .55rem;
}

.stock-loading-head strong {
  color: var(--bs-primary);
}

.stock-loading-head span,
.stock-loading-panel small {
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.stock-loading-progress {
  height: .7rem;
  margin-bottom: .45rem;
  border-radius: 999px;
}

.stock-equalization-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .9rem;
  padding: 1rem 1.45rem 1.45rem;
}

.stock-equalization-grid article {
  min-height: 126px;
  padding: 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .86);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
}

.stock-equalization-grid span {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-equalization-grid span i {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  color: var(--bs-primary);
  background: rgba(var(--bs-primary-rgb), .10);
}

.stock-equalization-grid strong {
  display: block;
  margin-top: .6rem;
  color: var(--bs-body-color);
  font-size: clamp(1.28rem, 2vw, 1.8rem);
  line-height: 1.15;
  overflow-wrap: normal;
  word-break: normal;
}

.stock-equalization-grid article:nth-child(2) strong {
  font-size: clamp(1.45rem, 2.25vw, 2.05rem);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(2),
.stock-state-stock .stock-equalization-grid article:nth-child(3) {
  border-color: rgba(var(--bs-danger-rgb), .30);
  background: rgba(var(--bs-danger-rgb), .06);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(2) strong,
.stock-state-stock .stock-equalization-grid article:nth-child(3) strong {
  color: var(--bs-danger);
}

.stock-state-accounting .stock-equalization-grid article:first-child {
  border-color: rgba(var(--bs-success-rgb), .30);
  background: rgba(var(--bs-success-rgb), .06);
}

.stock-state-accounting .stock-equalization-grid article:first-child span i,
.stock-state-accounting .stock-equalization-grid article:first-child strong {
  color: var(--bs-success);
}

.stock-state-accounting .stock-equalization-grid article:first-child span i {
  background: rgba(var(--bs-success-rgb), .10);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(3) {
  border-color: rgba(var(--bs-success-rgb), .22);
  background: rgba(var(--bs-success-rgb), .045);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(3) span i,
.stock-state-accounting .stock-equalization-grid article:nth-child(3) strong {
  color: var(--bs-success);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(3) span i {
  background: rgba(var(--bs-success-rgb), .10);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(4) {
  border-color: rgba(var(--bs-warning-rgb), .34);
  background: rgba(var(--bs-warning-rgb), .09);
}

.stock-state-accounting .stock-equalization-grid article:nth-child(4) span i,
.stock-state-accounting .stock-equalization-grid article:nth-child(4) strong {
  color: #9a5a00;
}

.stock-state-accounting .stock-equalization-grid article:nth-child(4) span i {
  background: rgba(var(--bs-warning-rgb), .15);
}

.stock-state-closed .stock-equalization-grid article:nth-child(3) {
  border-color: rgba(var(--bs-success-rgb), .30);
  background: rgba(var(--bs-success-rgb), .06);
}

.stock-state-closed .stock-equalization-grid article:nth-child(3) strong {
  color: var(--bs-success);
}

.stock-equalization-history {
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .82);
}

.stock-equalization-history summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}

.stock-equalization-history summary::-webkit-details-marker {
  display: none;
}

.stock-equalization-history summary h2 {
  margin: 0;
  color: var(--bs-primary);
  font-size: 1.05rem;
}

.stock-equalization-history[open] summary {
  margin-bottom: .75rem;
}

.stock-equalization-history table {
  white-space: nowrap;
}

.stock-accounting-diagnosis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.stock-accounting-diagnosis > div {
  display: grid;
  gap: .35rem;
  min-height: 126px;
  padding: .9rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .72);
}

.stock-accounting-diagnosis span {
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-accounting-diagnosis strong {
  font-size: .98rem;
  line-height: 1.45;
}

.stock-motives {
  display: flex;
  justify-content: flex-end;
  gap: .45rem;
  flex-wrap: wrap;
}

.stock-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.stock-panel-head h2 {
  margin: 0;
}

.stock-table-title {
  margin: 0 0 .55rem;
  color: var(--bs-secondary-color);
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.stock-comparison-panel {
  margin-bottom: 1rem;
}

.stock-comparison-main-panel {
  width: 100%;
}

.stock-comparison-panel .table-responsive {
  min-height: 260px;
  width: 100%;
}

.stock-branch-cell {
  width: 96px;
  font-weight: 900;
}

.stock-money-cell,
.stock-percent-cell {
  font-variant-numeric: tabular-nums;
}

#stock-summary-table {
  width: 100% !important;
  min-width: 760px;
}

#stock-detail-table,
#stock-branch-detail-table {
  width: 100% !important;
  min-width: 1500px;
  border-collapse: collapse !important;
}

.stock-detail-grid-panel {
  padding-top: .85rem;
}

.stock-detail-grid-panel .table-responsive {
  border: 1px solid var(--bs-border-color);
  border-radius: 0;
  background: var(--bs-body-bg);
}

.stock-comparison-panel .dataTables_wrapper,
.stock-comparison-panel .dt-container,
.stock-comparison-panel .dt-layout-table,
.stock-comparison-panel .dt-scroll,
.stock-comparison-panel .dt-scroll-head,
.stock-comparison-panel .dt-scroll-body {
  width: 100% !important;
}

#stock-summary-table th,
#stock-summary-table td,
#stock-detail-table th,
#stock-detail-table td,
#stock-branch-detail-table th,
#stock-branch-detail-table td {
  white-space: nowrap;
}

#stock-detail-table th,
#stock-detail-table td,
#stock-branch-detail-table th,
#stock-branch-detail-table td {
  border: 1px solid rgba(148, 163, 184, .35);
  padding: .42rem .5rem;
}

#stock-detail-table thead th,
#stock-branch-detail-table thead th {
  background: rgba(148, 163, 184, .12);
  color: var(--bs-body-color);
  font-size: .72rem;
  font-weight: 900;
  text-align: center;
  vertical-align: middle;
}

#stock-summary-table td,
#stock-detail-table td,
#stock-branch-detail-table td {
  font-size: .95rem;
}

#stock-detail-table th:first-child,
#stock-detail-table td:first-child,
#stock-branch-detail-table th:first-child,
#stock-branch-detail-table td:first-child {
  min-width: 300px;
  white-space: normal;
}

.stock-branch-selected td {
  background: rgba(37, 99, 235, .12) !important;
  color: var(--bs-body-color);
  font-weight: 800;
}

.stock-branch-detail-title {
  margin: .1rem 0 .55rem;
  text-align: center;
  color: var(--bs-body-color);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: 0;
}

.stock-status-badge {
  white-space: nowrap;
}

.stock-branch-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(37, 99, 235, .02));
  border: 1px dashed rgba(37, 99, 235, .35);
}

.stock-branch-cta-text h2 {
  margin: .15rem 0 .35rem;
}

.stock-branch-cta-text p {
  margin: 0;
  max-width: 520px;
  color: var(--bs-secondary-color);
}

.stock-branch-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: .5rem;
  flex-wrap: wrap;
}

.stock-branch-kpis {
  margin-bottom: 1rem;
}

.stock-branch-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 1rem;
  align-items: start;
}

@media (max-width: 1150px) {
  .stock-branch-layout {
    grid-template-columns: 1fr;
  }
}

.stock-branch-list-panel {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  display: flex;
  flex-direction: column;
}

@media (max-width: 1150px) {
  .stock-branch-list-panel {
    position: static;
    max-height: none;
  }
}

.stock-branch-search {
  position: relative;
  margin-bottom: .85rem;
}

.stock-branch-search i {
  position: absolute;
  top: 50%;
  left: .75rem;
  transform: translateY(-50%);
  color: var(--bs-secondary-color);
}

.stock-branch-search input {
  padding-left: 2.1rem;
}

.stock-branch-list {
  overflow-y: auto;
  display: grid;
  gap: .5rem;
  padding-right: .25rem;
}

.stock-branch-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .65rem .8rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 10px;
  background: var(--bs-body-bg);
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, background .15s ease, transform .1s ease;
}

.stock-branch-item:hover {
  border-color: rgba(37, 99, 235, .45);
  transform: translateY(-1px);
}

.stock-branch-item.is-active {
  border-color: var(--bs-primary);
  background: rgba(37, 99, 235, .1);
}

.stock-branch-item .stock-branch-badge {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 9px;
  font-weight: 900;
  font-size: .85rem;
  background: rgba(var(--bs-body-color-rgb), .08);
}

.stock-branch-item.tone-danger .stock-branch-badge { background: rgba(220, 53, 69, .16); color: #dc3545; }
.stock-branch-item.tone-warning .stock-branch-badge { background: rgba(255, 193, 7, .2); color: #b8860b; }
.stock-branch-item.tone-success .stock-branch-badge { background: rgba(25, 135, 84, .16); color: #198754; }

.stock-branch-item-info {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.stock-branch-item-info strong {
  font-size: .95rem;
}

.stock-branch-item-info small {
  color: var(--bs-secondary-color);
  font-size: .76rem;
}

.stock-branch-item-value {
  text-align: right;
  display: grid;
  gap: .1rem;
  font-variant-numeric: tabular-nums;
}

.stock-branch-item-value strong {
  font-size: .92rem;
}

.stock-branch-item-value small {
  font-size: .74rem;
  color: var(--bs-secondary-color);
}

.stock-branch-empty {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--bs-secondary-color);
}

.stock-branch-empty.stock-branch-loading i {
  color: var(--bs-primary);
  margin-right: .4rem;
}

.stock-metric-loading strong i {
  color: var(--bs-primary);
  font-size: 1.3rem;
}

#stock-branch-detail-title i.fa-spin {
  color: var(--bs-primary);
  margin-right: .4rem;
}

.stock-branch-detail-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.stock-branch-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.stock-branch-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-bottom: 1rem;
}

@media (max-width: 560px) {
  .stock-branch-detail-stats {
    grid-template-columns: 1fr;
  }
}

.stock-branch-detail-stats article {
  padding: .75rem .9rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .76);
}

.stock-branch-detail-stats span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.stock-branch-detail-stats strong {
  font-size: 1.15rem;
}

.goals-controls .theme-select {
  width: 150px;
}

.goals-controls .goal-viewer-select {
  width: min(360px, 100%);
}

.goal-loading,
.goal-board,
.goal-card {
  border: 1px solid rgba(var(--bs-body-color-rgb), .24);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .10), transparent 34%),
    linear-gradient(180deg, rgba(var(--bs-secondary-rgb), .075), rgba(var(--bs-secondary-rgb), .025));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .12);
}

.goal-loading {
  padding: 1rem;
}

.goal-loading-winthor {
  max-width: 520px;
}

.goal-loading-winthor strong {
  font-size: .95rem;
}

.goal-loading-pulse {
  color: var(--bs-primary);
  animation: goalPulse 1.2s ease-in-out infinite;
}

.goal-loading-progress {
  height: .65rem;
  background: rgba(var(--bs-secondary-rgb), .2);
}

@keyframes goalPulse {
  0%,
  100% {
    opacity: .45;
  }
  50% {
    opacity: 1;
  }
}

.goal-board {
  display: grid;
  grid-template-columns: minmax(560px, 1.15fr) minmax(500px, .95fr);
  gap: 1.25rem;
  padding: 1.35rem;
}

.goal-board-main {
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(260px, .85fr);
  gap: 1.25rem;
  align-items: center;
  min-width: 0;
}

.goal-board-copy span,
.goal-kpi span,
.goal-row span,
.goal-row small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-board-copy strong {
  display: block;
  margin-top: .4rem;
  font-size: clamp(3.2rem, 5vw, 5.5rem);
  line-height: .95;
  letter-spacing: 0;
}

.goal-progress,
.goal-row-progress {
  height: .55rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(var(--bs-secondary-rgb), .16);
}

.goal-progress {
  margin-top: 1rem;
  max-width: 420px;
}

.goal-progress i,
.goal-row-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2563eb;
}

.goal-progress i.goal-status-good,
.goal-row-progress i.goal-status-good {
  background: #22c55e;
}

.goal-progress i.goal-status-warn,
.goal-row-progress i.goal-status-warn {
  background: #f59e0b;
}

.goal-board-copy p {
  margin: .75rem 0 0;
  font-weight: 700;
}

.goal-gauge {
  min-height: 190px;
}

.goal-kpis {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
}

.goal-kpi {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  min-width: 0;
  min-height: 84px;
  padding: .95rem 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .20);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .68);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.goal-kpi-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #fff;
  background: #2563eb;
}

.goal-kpi:nth-child(2) .goal-kpi-icon {
  background: #16a34a;
}

.goal-kpi:nth-child(3) .goal-kpi-icon {
  background: #f59e0b;
}

.goal-kpi:nth-child(4) .goal-kpi-icon {
  background: #0ea5e9;
}

.goal-kpi:nth-child(5) .goal-kpi-icon {
  background: #64748b;
}

.goal-kpi strong {
  display: block;
  margin-top: .1rem;
  font-size: clamp(1.35rem, 1.6vw, 1.8rem);
  line-height: 1.18;
  white-space: nowrap;
}

.goals-list {
  display: grid;
  gap: 1rem;
}

.goal-card {
  padding: 1.35rem;
}

.goal-analytics-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  margin: 1rem 0;
}

.branch-expense-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1rem;
}

.branch-expense-kpis .goal-kpi {
  --kpi-accent: #2563eb;
  --kpi-soft: rgba(37, 99, 235, .11);
  position: relative;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  min-height: 96px;
  padding: 1rem 1rem .95rem;
  overflow: hidden;
  border: 1px solid rgba(var(--bs-body-color-rgb), .10);
  border-top: 3px solid var(--kpi-accent);
  background:
    linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), .98), rgba(var(--bs-tertiary-bg-rgb), .38));
  box-shadow: 0 8px 18px rgba(var(--bs-body-color-rgb), .055);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.branch-expense-kpis .goal-kpi:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--bs-body-color-rgb), .16);
  box-shadow: 0 12px 26px rgba(var(--bs-body-color-rgb), .08);
}

.branch-expense-kpis .goal-kpi .goal-kpi-icon {
  width: 38px;
  height: 38px;
  border: 1px solid color-mix(in srgb, var(--kpi-accent) 28%, transparent);
  border-radius: 8px;
  color: var(--kpi-accent);
  background: var(--kpi-soft);
  box-shadow: none;
}

.branch-expense-kpis .goal-kpi .goal-kpi-icon i {
  color: var(--kpi-accent);
  font-size: 1rem;
  line-height: 1;
}

.branch-expense-kpis .goal-kpi-body {
  min-width: 0;
  padding-top: .05rem;
}

.branch-expense-kpis .goal-kpi small {
  display: block;
  margin-bottom: .55rem;
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.branch-expense-kpis .goal-kpi strong {
  margin: 0;
  color: var(--bs-body-color);
  font-size: clamp(1.18rem, 1.45vw, 1.55rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
  white-space: normal;
}

.branch-expense-kpis .goal-kpi-total {
  --kpi-accent: #2563eb;
  --kpi-soft: rgba(37, 99, 235, .11);
}

.branch-expense-kpis .goal-kpi-shared {
  --kpi-accent: #16a34a;
  --kpi-soft: rgba(22, 163, 74, .12);
}

.branch-expense-kpis .goal-kpi-direct {
  --kpi-accent: #d97706;
  --kpi-soft: rgba(217, 119, 6, .13);
}

.branch-expense-kpis .goal-kpi-ratio {
  --kpi-accent: #0891b2;
  --kpi-soft: rgba(8, 145, 178, .12);
}

.branch-expense-kpis .goal-kpi-other {
  --kpi-accent: #475569;
  --kpi-soft: rgba(71, 85, 105, .12);
}

.expense-evolution-app #evolution-kpis.branch-expense-kpis {
  display: block;
  margin-bottom: 1rem;
}

.expense-evolution-app .branch-expense-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  width: 100%;
}

.expense-evolution-app .evolution-kpi {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: .75rem;
  min-width: 0;
  min-height: 96px;
  padding: 1rem;
}

.expense-evolution-app .evolution-kpi .goal-kpi-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.expense-evolution-app .evolution-kpi small {
  white-space: normal;
}

.expense-evolution-app .evolution-kpi strong {
  display: block;
  font-size: clamp(.98rem, 1.12vw, 1.2rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (max-width: 1199.98px) {
  .expense-evolution-app .branch-expense-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .expense-evolution-app .branch-expense-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1199.98px) {
  .branch-expense-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .branch-expense-kpis {
    grid-template-columns: 1fr;
  }
}

.branch-expense-alerts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
  margin-bottom: .9rem;
}

.branch-expense-alert {
  border: 1px solid rgba(var(--bs-warning-rgb), .35);
  border-radius: 8px;
  background: rgba(var(--bs-warning-rgb), .08);
  padding: .72rem .85rem;
}

.branch-expense-alert strong {
  display: block;
  margin-bottom: .2rem;
  font-size: .84rem;
  text-transform: uppercase;
}

.branch-expense-alert span {
  color: var(--bs-secondary-color);
  font-size: .83rem;
  font-weight: 650;
}

.branch-expense-table td:last-child {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.simple-goal-summary {
  margin-bottom: 1rem;
}

.simple-summary-card {
  background: rgba(var(--bs-body-color-rgb), .14);
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 8px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  overflow: hidden;
}

.simple-summary-card > div {
  background: rgba(var(--bs-body-bg-rgb), .88);
  min-height: 92px;
  padding: 1rem;
}

.simple-summary-card span,
.simple-summary-card small {
  color: var(--bs-secondary-color);
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.simple-summary-card strong {
  display: block;
  font-size: clamp(1.25rem, 2vw, 1.9rem);
  line-height: 1.15;
  margin-top: .25rem;
}

.analytics-billing-summary {
  grid-template-columns: minmax(230px, .9fr) minmax(280px, 1.3fr) repeat(4, minmax(150px, .7fr));
  background: rgba(var(--bs-primary-rgb), .18);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .08);
}

.analytics-billing-summary > div {
  position: relative;
  min-height: 112px;
}

.analytics-billing-main {
  background: linear-gradient(135deg, rgba(var(--bs-success-rgb), .18), rgba(var(--bs-primary-rgb), .10)) !important;
}

.analytics-billing-main strong {
  color: var(--bs-success);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
}

.analytics-billing-period strong {
  font-size: clamp(1rem, 1.35vw, 1.35rem);
}

.simple-table-panel {
  margin-bottom: 1rem;
}

.simple-table-title {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: .75rem;
}

.simple-table-title h2 {
  font-size: .95rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
}

.simple-table-title span {
  color: var(--bs-secondary-color);
  font-weight: 700;
}

.goals-analytics-app .goals-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .9rem;
}

.analytics-status {
  min-height: 0;
}

.analytics-loading,
.analytics-empty {
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  background: rgba(var(--bs-body-bg-rgb), .72);
  color: var(--bs-secondary-color);
  padding: .55rem .75rem;
  font-size: .86rem;
}

.analytics-path {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgba(var(--bs-primary-rgb), .24);
  border-radius: 8px;
  background: rgba(var(--bs-primary-rgb), .075);
  color: var(--bs-body-color);
  padding: .55rem .75rem;
  font-size: .86rem;
  font-weight: 700;
}

.analytics-path i {
  color: var(--bs-primary);
}

.analytics-sheet {
  overflow: hidden;
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .84);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .07);
}

.analytics-sheet-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .14);
  background: linear-gradient(180deg, rgba(var(--bs-secondary-rgb), .09), rgba(var(--bs-secondary-rgb), .035));
  color: var(--bs-body-color);
  padding: .62rem .75rem;
}

.analytics-sheet-heading {
  min-width: 0;
  flex: 1 1 auto;
}

.analytics-sheet-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .35rem;
  margin-left: auto;
}

.analytics-sheet.is-collapsed .analytics-sheet-title {
  border-bottom-color: transparent;
}

.analytics-sheet.is-collapsed .analytics-sheet-title small {
  color: var(--bs-primary);
}

.analytics-sheet.is-collapsed > .branch-ignore-btn {
  display: none;
}

.analytics-sheet-title strong {
  display: block;
  font-size: .84rem;
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
}

.analytics-sheet-title small {
  display: block;
  margin-top: .1rem;
  color: var(--bs-secondary-color);
  font-size: .73rem;
  font-weight: 700;
}

.analytics-step {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: rgba(var(--bs-primary-rgb), .14);
  color: var(--bs-primary);
  font-size: .78rem;
  font-weight: 900;
}

.analytics-step.muted {
  background: rgba(var(--bs-warning-rgb), .16);
  color: var(--bs-warning);
}

.analytics-table-wrap {
  overflow-x: auto;
  overflow-y: auto;
  max-height: 430px;
}

.analytics-table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
  table-layout: auto;
  background: var(--bs-body-bg);
  font-size: .81rem;
}

.analytics-table th,
.analytics-table td {
  border: 1px solid rgba(var(--bs-body-color-rgb), .13);
  padding: .38rem .52rem;
  white-space: nowrap;
  vertical-align: middle;
  line-height: 1.25;
}

.analytics-table th {
  background: rgba(var(--bs-secondary-rgb), .16);
  color: var(--bs-body-color);
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.analytics-table td:nth-child(n+3),
.analytics-table th:nth-child(n+3) {
  text-align: right;
}

.analytics-table td:first-child,
.analytics-table td:nth-child(2) {
  color: var(--bs-body-color);
  font-weight: 650;
}

.analytics-table tbody tr:nth-child(even) td {
  background: rgba(var(--bs-secondary-rgb), .035);
}

.analytics-table tbody tr.is-clickable {
  cursor: pointer;
}

.analytics-table tbody tr.is-clickable:hover td,
.analytics-table tbody tr.is-selected td {
  background: rgba(var(--bs-primary-rgb), .13);
}

.billing-analytics-modern .goals-hero {
  background: linear-gradient(135deg, #123047 0%, #176b72 58%, #21a179 100%);
  border: 0;
  box-shadow: 0 18px 45px rgba(18, 48, 71, .18);
}

.billing-analytics-modern .goals-hero h1,
.billing-analytics-modern .goals-hero p,
.billing-analytics-modern .goals-kicker { color: #fff; }

.billing-period-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1.1rem;
  border-left: 4px solid #21a179;
}

.billing-period-banner > div { display: flex; align-items: center; gap: .65rem; }
.billing-period-banner i { color: #21a179; }
.billing-period-banner span,
.billing-period-banner small { color: var(--bs-secondary-color); }

.billing-analytics-modern .analytics-sheet {
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(18, 48, 71, .08);
}

.billing-analytics-modern .analytics-sheet-title {
  background: linear-gradient(90deg, rgba(33, 161, 121, .12), transparent);
}

@media (max-width: 767px) {
  .billing-period-banner,
  .billing-period-banner > div { align-items: flex-start; flex-direction: column; }
}

.expense-entry-detail-supplier {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .75rem;
  padding: .85rem 1rem;
  border-left: 4px solid #f26a2e;
  border-radius: .5rem;
  background: rgba(242, 106, 46, .08);
}

.expense-entry-detail-supplier small,
.expense-entry-detail-item small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.expense-entry-detail-supplier strong {
  color: #d9531e;
  font-size: 1.05rem;
}

.expense-entry-detail-supplier span {
  color: var(--bs-secondary-color);
  font-size: .78rem;
}

.expense-entry-detail-item {
  height: 100%;
  min-height: 58px;
  padding: .55rem .7rem;
  border: 1px solid var(--bs-border-color);
  border-radius: .4rem;
  background: var(--bs-body-bg);
}

.expense-entry-detail-item strong {
  display: block;
  margin-top: .15rem;
  overflow-wrap: anywhere;
  font-size: .84rem;
}

.inventory-adjustments-app .analytics-sheet-title,
.inventory-adjustments-app .branch-expense-kpi-adjustment {
  border-color: rgba(245, 158, 11, .35);
}

.inventory-adjustments-app .goals-hero {
  border-top: 4px solid #f59e0b;
}

.inventory-adjustments-app .branch-expense-kpis .goal-kpi {
  min-height: 104px;
}

.inventory-adjustments-app .branch-expense-kpis .inventory-adjustments-total {
  --kpi-accent: #d97706;
  --kpi-soft: rgba(217, 119, 6, .14);
}

.inventory-adjustments-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 1rem;
  margin-bottom: 1rem;
}

.inventory-adjustments-sheet {
  border-color: rgba(217, 119, 6, .22);
}

.inventory-adjustments-sheet .analytics-sheet-title {
  background: linear-gradient(180deg, rgba(255, 247, 237, .82), rgba(var(--bs-body-bg-rgb), .96));
}

.inventory-adjustments-tools {
  gap: 1rem;
}

.inventory-adjustments-search {
  position: relative;
  width: min(360px, 100%);
  margin-left: auto;
}

.inventory-adjustments-search i {
  position: absolute;
  left: .72rem;
  top: 50%;
  transform: translateY(-50%);
  color: #b45309;
  pointer-events: none;
}

.inventory-adjustments-search .form-control {
  height: 38px;
  padding-left: 2rem;
  border-color: rgba(217, 119, 6, .35);
}

.inventory-adjustments-table td:first-child strong,
.inventory-adjustments-table td:nth-child(4) strong {
  display: block;
  font-size: .9rem;
}

.inventory-adjustments-table td:first-child span,
.inventory-adjustments-table td:nth-child(4) span {
  display: block;
  max-width: 520px;
  overflow: hidden;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-adjustment-row td {
  background: rgba(255, 247, 237, .55);
}

.inventory-adjustment-row:hover td {
  background: #ffd99a;
}

.expense-statistics-app .goals-hero {
  border-top: 4px solid #2563eb;
}

.expense-statistics-app .branch-expense-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.expense-statistics-app .branch-expense-kpis .goal-kpi {
  min-height: 104px;
}

.expense-statistics-app .goal-kpi-body span {
  display: block;
  margin-top: .35rem;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 700;
}

.expense-statistics-app .goal-kpi-projection .goal-kpi-icon {
  color: #92400e;
  border-color: rgba(245, 158, 11, .28);
  background: rgba(245, 158, 11, .16);
}

.stats-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 1rem;
}

.stats-wide {
  grid-column: 1 / -1;
}

.stats-chart-wrap {
  padding: 1rem;
}

.stats-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .85rem 1rem 0;
}

.stats-summary-strip span {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  padding: .38rem .65rem;
  color: var(--bs-body-color);
  border: 1px solid rgba(var(--bs-body-color-rgb), .08);
  background: rgba(var(--bs-tertiary-bg-rgb), .72);
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 700;
}

.stats-summary-strip b {
  color: var(--bs-secondary-color);
  font-weight: 800;
  text-transform: uppercase;
}

.stats-chart {
  height: 360px;
  min-height: 280px;
}

.stats-chart-loading {
  display: flex;
  height: 100%;
  min-height: 280px;
  flex-direction: column;
  gap: .55rem;
  align-items: center;
  justify-content: center;
  color: var(--bs-secondary-color);
  border: 1px dashed rgba(var(--bs-body-color-rgb), .16);
  background:
    linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), .88), rgba(var(--bs-tertiary-bg-rgb), .44));
  border-radius: 8px;
}

.stats-chart-loading i {
  color: #2563eb;
  font-size: 1.35rem;
}

.stats-chart-error {
  border-color: rgba(220, 38, 38, .28);
}

.stats-chart-error i {
  color: #dc2626;
}

.stats-chart-loading strong {
  color: var(--bs-body-color);
  font-size: .95rem;
}

.stats-chart-loading span {
  font-size: .78rem;
  font-weight: 700;
}

.stats-loading-lines {
  display: grid;
  width: min(420px, 82%);
  gap: .45rem;
  margin-top: .75rem;
}

.stats-loading-lines b,
.stats-kpi-loading .goal-kpi-icon,
.stats-kpi-loading small,
.stats-kpi-loading strong,
.stats-kpi-loading span,
.stats-loading-pill {
  display: block;
  overflow: hidden;
  background:
    linear-gradient(90deg,
      rgba(var(--bs-secondary-rgb), .10),
      rgba(var(--bs-secondary-rgb), .24),
      rgba(var(--bs-secondary-rgb), .10));
  background-size: 220% 100%;
  animation: stats-loading-shimmer 1.15s ease-in-out infinite;
}

.stats-loading-lines b {
  height: 10px;
  border-radius: 999px;
}

.stats-loading-lines b:nth-child(2) {
  width: 78%;
}

.stats-loading-lines b:nth-child(3) {
  width: 88%;
}

.stats-loading-lines b:nth-child(4) {
  width: 62%;
}

.stats-kpi-loading {
  pointer-events: none;
}

.stats-kpi-loading .goal-kpi-icon,
.stats-kpi-loading small,
.stats-kpi-loading strong,
.stats-kpi-loading span,
.stats-loading-pill {
  color: transparent !important;
  border-radius: 999px;
}

.stats-kpi-loading .goal-kpi-icon {
  border: 0;
}

.stats-kpi-loading small {
  width: 48%;
  height: 10px;
  margin-bottom: .7rem;
}

.stats-kpi-loading strong {
  width: 76%;
  height: 22px;
}

.stats-kpi-loading span {
  width: 58%;
  height: 10px;
}

.stats-loading-pill {
  width: 140px;
  height: 30px;
}

.stats-table-loading {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  color: var(--bs-secondary-color);
  font-weight: 800;
}

.stats-table-loading i {
  color: #2563eb;
}

@keyframes stats-loading-shimmer {
  0% {
    background-position: 120% 0;
  }
  100% {
    background-position: -120% 0;
  }
}

.stats-table td:nth-child(n+2),
.stats-table th:nth-child(n+2) {
  text-align: right;
}

.stats-table td:first-child {
  white-space: nowrap;
}

.stats-badge-ok,
.stats-badge-danger,
.stats-badge-projection {
  display: inline-flex;
  min-width: 52px;
  justify-content: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.stats-badge-ok {
  color: #166534;
  background: rgba(22, 163, 74, .12);
}

.stats-badge-danger {
  color: #991b1b;
  background: rgba(220, 38, 38, .12);
}

.stats-badge-projection {
  color: #92400e;
  background: rgba(245, 158, 11, .16);
}

.stats-projection-row td {
  background: rgba(245, 158, 11, .09);
  color: #78350f;
  font-weight: 700;
}

.stats-projection-row:hover td {
  background: rgba(245, 158, 11, .16);
}

.stats-projection-row td:first-child span,
.stats-projection-row td:first-child small {
  display: block;
}

.stats-projection-row td:first-child small {
  margin-top: .12rem;
  color: #92400e;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 1199.98px) {
  .expense-statistics-app .branch-expense-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .home-dashboard-strip,
  .home-reports-grid {
    grid-template-columns: 1fr;
  }

  .expense-statistics-app .branch-expense-kpis {
    grid-template-columns: 1fr;
  }
}

.inventory-adjustment-row .is-positive {
  color: #92400e;
  font-weight: 800;
}

.inventory-adjustment-row .is-negative {
  color: #b91c1c;
  font-weight: 800;
}

.inventory-adjustments-bar {
  display: inline-flex;
  width: 88px;
  height: 7px;
  margin-right: .5rem;
  overflow: hidden;
  vertical-align: middle;
  background: rgba(217, 119, 6, .16);
  border-radius: 999px;
}

.inventory-adjustments-bar span {
  display: block;
  background: #f59e0b;
  border-radius: inherit;
}

@media (max-width: 1199.98px) {
  .inventory-adjustments-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .inventory-adjustments-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .inventory-adjustments-search {
    width: 100%;
    margin-left: 0;
  }
}

.analytics-table tbody tr.is-selected td:first-child {
  box-shadow: inset 3px 0 0 var(--bs-primary);
}

.analytics-placeholder td {
  color: var(--bs-secondary-color);
  font-style: italic;
  font-weight: 600;
  text-align: left !important;
}

.analytics-row-appear {
  animation: analyticsRowAppear .24s ease-out both;
}

@keyframes analyticsRowAppear {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.goal-manager {
  display: grid;
  gap: 1rem;
}

.goal-manager,
.goal-sector-chart,
.goal-sector-card,
.goal-rank-row,
.goal-rank-card,
.goal-standings {
  border: 1px solid rgba(var(--bs-body-color-rgb), .20);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .50);
}

.goal-manager {
  padding: 1.1rem;
}

.goal-manager-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.goal-manager-head span,
.goal-sector-card span,
.goal-rank-row span,
.goal-rank-row small,
.goal-rank-card span,
.goal-rank-card small,
.goal-rank-card dt,
.goal-sector-card dt {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-manager-head h2 {
  margin: .15rem 0 0;
  font-size: 1.35rem;
}

.goal-manager-head > strong {
  padding: .35rem .6rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 999px;
  color: var(--bs-secondary-color);
  font-size: .82rem;
}

.goal-manager-subhead {
  margin-top: .5rem;
}

.goal-sector-chart {
  min-height: 260px;
  padding: .65rem;
}

.goal-sector-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .75rem;
}

.goal-sector-card {
  padding: .9rem;
}

.goal-sector-card > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}

.goal-sector-card > div:first-child strong {
  font-size: 1.45rem;
  line-height: 1;
}

.goal-sector-card dl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  margin: .75rem 0 0;
}

.goal-sector-card dd {
  margin: .15rem 0 0;
  font-weight: 800;
}

.goal-rank-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}

.goal-rank-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, .7fr) minmax(180px, .55fr);
  gap: 1rem;
  align-items: center;
  padding: .75rem .85rem;
}

.goal-rank-row strong {
  display: block;
  line-height: 1.15;
}

.goal-rank-values {
  text-align: right;
}

.goal-rank-values > strong {
  font-size: 1.25rem;
}

.goal-rank-card {
  min-width: 0;
  padding: .72rem .78rem;
}

.goal-rank-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: start;
}

.goal-rank-card-head > div {
  min-width: 0;
}

.goal-rank-card-head strong {
  display: block;
  overflow: hidden;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goal-rank-card-head b {
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
}

.goal-rank-number {
  display: inline-flex !important;
  width: 1.65rem;
  height: 1.65rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 999px;
  background: rgba(var(--bs-secondary-rgb), .08);
  color: var(--bs-body-color) !important;
  font-size: .72rem !important;
}

.goal-rank-card .goal-team {
  overflow: hidden;
  margin-top: .4rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goal-rank-card .goal-progress {
  height: .35rem;
  margin-top: .55rem;
}

.goal-rank-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  margin: .65rem 0 0;
}

.goal-rank-metrics dd {
  overflow: hidden;
  margin: .12rem 0 0;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goal-standings {
  overflow: hidden;
}

.goal-master-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
  gap: .75rem;
  align-items: start;
}

.goal-standings table {
  width: 100%;
  border-collapse: collapse;
  font-size: .86rem;
}

.goal-standings th,
.goal-standings td {
  padding: .55rem .7rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .12);
  vertical-align: middle;
  white-space: nowrap;
}

.goal-standings th {
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
}

.goal-standings th i {
  margin-left: .25rem;
  opacity: .5;
}

.goal-standings th.is-sorted {
  color: var(--bs-body-color);
}

.goal-standings th.is-sorted i {
  opacity: 1;
}

.goal-standings tbody tr:nth-child(odd) {
  background: rgba(var(--bs-secondary-rgb), .045);
}

.goal-standings tbody tr:hover {
  background: rgba(37, 99, 235, .10);
}

.goal-standings tbody tr.is-selected {
  background: rgba(37, 99, 235, .16);
}

.goal-standings tbody tr:last-child td {
  border-bottom: 0;
}

.goal-standings td:nth-child(1),
.goal-standings td:nth-child(n+4),
.goal-standings th:nth-child(1),
.goal-standings th:nth-child(n+4) {
  text-align: right;
}

.goal-standings td:nth-child(2) {
  min-width: 240px;
  white-space: normal;
}

.goal-standings td:nth-child(2) strong,
.goal-standings td:nth-child(2) small,
.goal-team {
  display: block;
}

.goal-row-select {
  width: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

.goal-standings td:nth-child(2) strong {
  line-height: 1.1;
}

.goal-standings td:nth-child(2) small,
.goal-team {
  color: var(--bs-secondary-color);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-position {
  display: inline-flex;
  min-width: 2rem;
  justify-content: flex-end;
  color: var(--bs-secondary-color);
  font-weight: 900;
}

.goal-standing-percent {
  display: grid;
  grid-template-columns: 56px 92px;
  gap: .55rem;
  align-items: center;
  justify-content: end;
}

.goal-standing-percent .goal-progress {
  height: .35rem;
  margin-top: 0;
}

.goal-filter-drop {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-height: 38px;
  padding: .45rem .65rem;
  border: 1px dashed rgba(var(--bs-body-color-rgb), .28);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
  color: var(--bs-secondary-color);
  font-size: .8rem;
  font-weight: 800;
}

.goal-filter-drop.is-over {
  border-color: #2563eb;
  background: rgba(37, 99, 235, .12);
  color: var(--bs-body-color);
}

.goal-sector-card {
  cursor: grab;
}

.goal-sector-card.is-active {
  border-color: #2563eb;
  background: rgba(37, 99, 235, .12);
}

.goal-detail {
  min-height: 100%;
  padding: .85rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .20);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .50);
}

.goal-detail > span,
.goal-detail p,
.goal-detail-metrics span,
.goal-detail-metrics small {
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-detail h3 {
  margin: .15rem 0 .1rem;
  font-size: 1.1rem;
  line-height: 1.1;
}

.goal-detail > strong {
  display: block;
  margin-top: .4rem;
  font-size: 1.8rem;
  line-height: 1;
}

.goal-detail-metrics {
  display: grid;
  gap: .45rem;
  margin-top: .75rem;
}

.goal-detail-metrics > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .5rem;
  align-items: baseline;
  padding-bottom: .45rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .10);
}

.goal-detail-metrics b {
  font-size: .86rem;
}

.goal-profit-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: .9rem 0 0;
}

.goal-profit-strip > div {
  min-width: 0;
  padding: .62rem .7rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .16);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
}

.goal-profit-strip span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.goal-profit-strip strong {
  display: block;
  overflow: hidden;
  margin-top: .12rem;
  font-size: .92rem;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goal-profit-strip.compact {
  gap: .38rem;
  margin-top: .65rem;
}

.goal-profit-strip.compact > div {
  padding: .48rem .55rem;
}

.goal-detail-note,
.goal-branch-empty {
  margin: .75rem 0 0;
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-card-section-head,
.goal-branch-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.goal-card-section-head {
  margin-top: 1rem;
}

.goal-card-section-head span,
.goal-branch-head span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-card-section-head h3 {
  margin: .15rem 0 0;
  font-size: 1.15rem;
}

.goal-card-section-head > strong,
.goal-branch-head > strong {
  white-space: nowrap;
  font-size: 1rem;
}

.goal-branch-list {
  min-width: 0;
}

.goal-branch-list.compact {
  margin-top: .75rem;
}

.goal-branch-table {
  margin-top: .65rem;
  overflow: auto;
  border: 1px solid rgba(var(--bs-body-color-rgb), .16);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
}

.goal-branch-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}

.goal-branch-table th,
.goal-branch-table td {
  padding: .5rem .6rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .10);
  vertical-align: middle;
  white-space: nowrap;
}

.goal-branch-table th {
  color: var(--bs-secondary-color);
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.goal-branch-table tr:last-child td {
  border-bottom: 0;
}

.goal-branch-table td:first-child {
  min-width: 170px;
  white-space: normal;
}

.goal-branch-table td:first-child strong,
.goal-branch-table td:first-child span {
  display: block;
}

.goal-branch-table td:first-child span {
  color: var(--bs-secondary-color);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-branch-table td:nth-child(n+2),
.goal-branch-table th:nth-child(n+2) {
  text-align: right;
}

.goal-branch-table .goal-standing-percent {
  grid-template-columns: 52px 72px;
}

.goal-branch-table .goal-progress {
  height: .3rem;
  margin-top: 0;
}

.goal-expense-list {
  min-width: 0;
  margin-top: 1rem;
}

.goal-expense-list.compact {
  margin-top: .75rem;
}

.goal-expense-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .65rem;
}

.goal-expense-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.goal-expense-tabs {
  gap: .35rem;
  margin-top: .8rem;
  padding: .25rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
}

.goal-expense-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 6px;
  color: var(--bs-secondary-color);
  font-size: .76rem;
  font-weight: 800;
}

.goal-expense-tabs .nav-link.active {
  color: var(--bs-light);
}

.goal-expense-pane {
  display: none;
}

.goal-expense-pane.is-active {
  display: block;
}

.goal-expense-totals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .6rem;
  margin-top: .75rem;
}

.goal-expense-totals > div {
  min-width: 0;
  padding: .65rem .75rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .16);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
}

.goal-expense-totals span,
.goal-expense-totals small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.goal-expense-totals strong {
  display: block;
  margin-top: .15rem;
  font-size: 1rem;
  line-height: 1.1;
}

.goal-expense-negative {
  color: var(--bs-danger);
}

.goal-expense-panel {
  min-width: 0;
  overflow: auto;
  border: 1px solid rgba(var(--bs-body-color-rgb), .16);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
}

.goal-expense-panel h4 {
  margin: 0;
  padding: .55rem .65rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .10);
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.goal-expense-panel p {
  margin: 0;
  padding: .65rem;
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 700;
}

.goal-expense-panel table {
  width: 100%;
  border-collapse: collapse;
  font-size: .78rem;
}

.goal-expense-panel th,
.goal-expense-panel td {
  padding: .48rem .6rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .10);
  vertical-align: middle;
  white-space: nowrap;
}

.goal-expense-panel th {
  color: var(--bs-secondary-color);
  font-size: .64rem;
  font-weight: 900;
  text-transform: uppercase;
}

.goal-expense-panel tr:last-child td {
  border-bottom: 0;
}

.goal-expense-panel td:first-child,
.goal-expense-entries td:nth-child(3) {
  min-width: 160px;
  white-space: normal;
}

.goal-expense-panel td:first-child strong,
.goal-expense-panel td:first-child span,
.goal-expense-entries td:nth-child(2) span,
.goal-expense-entries td:nth-child(3) span,
.goal-expense-entries td:nth-child(4) span {
  display: block;
}

.goal-expense-panel td:first-child span,
.goal-expense-entries td:nth-child(2) span,
.goal-expense-entries td:nth-child(3) span,
.goal-expense-entries td:nth-child(4) span {
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-expense-panel td:last-child,
.goal-expense-panel th:last-child {
  text-align: right;
}

.goal-expense-panel td:nth-child(n+2):not(:first-child),
.goal-expense-panel th:nth-child(n+2):not(:first-child) {
  text-align: right;
}

.goal-expense-panel td:last-child span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-expense-entries {
  margin-top: .75rem;
}

.goal-cost-center-pending {
  margin-top: 1rem;
  padding: .8rem;
  border: 1px solid rgba(var(--bs-warning-rgb), .36);
  border-radius: 8px;
  background: rgba(var(--bs-warning-rgb), .06);
}

.goal-cost-center-pending .goal-card-section-head {
  margin-bottom: .7rem;
}

.goal-cost-center-pending .goal-card-section-head p {
  margin: .18rem 0 0;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 700;
}

.goal-pending-total {
  text-align: right;
}

.goal-pending-total small {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-detail-loading {
  margin-top: 1rem;
  padding: .7rem .75rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .12);
  border-radius: 8px;
  color: var(--bs-secondary-color);
  background: rgba(var(--bs-body-bg-rgb), .42);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-detail-loading .progress {
  height: .35rem;
  margin-top: .55rem;
}

.goal-detail-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: .8rem;
  font-weight: 700;
}

.goal-expense-entries td:nth-child(4) {
  min-width: 180px;
  white-space: normal;
}

.goal-expense-entries td:nth-child(3),
.goal-expense-entries td:nth-child(4) {
  text-align: left;
}

.goals-history {
  margin: 1rem 0;
}

.goal-history {
  display: grid;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .20);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .50);
}

.goal-history-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.goal-history-head span,
.goal-history-panel header span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-history-head h2 {
  margin: .15rem 0 0;
  font-size: 1.28rem;
}

.goal-history-head strong {
  color: var(--bs-secondary-color);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-history-monthly,
.goal-history-rankings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.goal-history-monthly {
  grid-template-columns: minmax(0, 1fr);
}

.goal-history-rankings {
  grid-template-columns: minmax(0, 1fr);
}

.goal-history-rankings.is-company {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.goal-history-panel {
  min-width: 0;
  padding: .75rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .44);
}

.goal-history-panel h3 {
  margin: .12rem 0 .35rem;
  font-size: .98rem;
}

.goal-history-chart {
  min-height: 286px;
}

.goal-history-loading,
.goal-history-error {
  margin-top: 1rem;
}

.goal-history-loading {
  padding: .75rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .16);
  border-radius: 8px;
  color: var(--bs-secondary-color);
  background: rgba(var(--bs-body-bg-rgb), .42);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-history-loading .progress {
  height: .38rem;
  margin-top: .6rem;
}

.goal-history-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.goal-history-alert {
  margin-bottom: 0;
}

.goals-manager-mode {
  max-width: 1580px;
  padding-bottom: .5rem;
}

.goals-manager-mode .goals-hero {
  align-items: center;
  margin-bottom: .7rem;
}

.goals-manager-mode .goals-kicker {
  margin-bottom: .1rem;
  font-size: .64rem;
}

.goals-manager-mode .goals-hero h1 {
  font-size: clamp(1.65rem, 2.3vw, 2.45rem);
}

.goals-manager-mode .goals-hero p {
  margin-top: .15rem;
  font-size: .86rem;
}

.goals-manager-mode .goals-summary {
  margin-bottom: .7rem !important;
}

.goals-manager-mode .goal-board {
  grid-template-columns: minmax(460px, .9fr) minmax(680px, 1.1fr);
  gap: .85rem;
  padding: .75rem;
}

.goals-manager-mode .goal-board-main {
  grid-template-columns: minmax(240px, 1fr) 145px;
  gap: .8rem;
}

.goals-manager-mode .goal-board-copy strong {
  margin-top: .15rem;
  font-size: clamp(2.2rem, 3vw, 3.2rem);
}

.goals-manager-mode .goal-progress {
  margin-top: .55rem;
}

.goals-manager-mode .goal-board-copy p {
  margin-top: .45rem;
  font-size: .8rem;
}

.goals-manager-mode .goal-gauge {
  min-height: 128px;
}

.goals-manager-mode .goal-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}

.goals-manager-mode .goal-kpi {
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 72px;
  gap: .55rem;
  padding: .65rem .75rem;
}

.goals-manager-mode .goal-kpi-icon {
  width: 32px;
  height: 32px;
  font-size: .85rem;
}

.goals-manager-mode .goal-kpi span,
.goals-manager-mode .goal-row span,
.goals-manager-mode .goal-row small {
  font-size: .62rem;
}

.goals-manager-mode .goal-kpi strong {
  font-size: clamp(1rem, 1.2vw, 1.25rem);
}

.goals-manager-mode .goal-manager {
  gap: .55rem;
  padding: .7rem;
}

.goals-manager-mode .goal-manager-head h2 {
  font-size: 1rem;
}

.goals-manager-mode .goal-manager-head span,
.goals-manager-mode .goal-sector-card span,
.goals-manager-mode .goal-rank-row span,
.goals-manager-mode .goal-rank-row small,
.goals-manager-mode .goal-rank-card span,
.goals-manager-mode .goal-rank-card small,
.goals-manager-mode .goal-rank-card dt,
.goals-manager-mode .goal-sector-card dt {
  font-size: .58rem;
}

.goals-manager-mode .goal-sector-chart {
  display: none;
}

.goals-manager-mode .goal-sector-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
}

.goals-manager-mode .goal-sector-card {
  padding: .55rem .6rem;
}

.goals-manager-mode .goal-sector-card > div:first-child strong {
  font-size: 1.1rem;
}

.goals-manager-mode .goal-sector-card .goal-progress {
  height: .35rem;
  margin-top: .45rem;
}

.goals-manager-mode .goal-sector-card dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
  margin-top: .45rem;
}

.goals-manager-mode .goal-sector-card dd {
  font-size: .75rem;
  line-height: 1.1;
}

.goals-manager-mode .goal-manager-subhead {
  margin-top: .15rem;
}

.goals-manager-mode .goal-rank-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .5rem;
}

.goals-manager-mode .goal-rank-card {
  padding: .55rem .6rem;
}

.goals-manager-mode .goal-rank-card-head {
  gap: .42rem;
}

.goals-manager-mode .goal-rank-card-head strong {
  font-size: .74rem;
}

.goals-manager-mode .goal-rank-card-head b {
  font-size: .9rem;
}

.goals-manager-mode .goal-rank-number {
  width: 1.35rem;
  height: 1.35rem;
  font-size: .6rem !important;
}

.goals-manager-mode .goal-rank-card .goal-team {
  margin-top: .28rem;
}

.goals-manager-mode .goal-rank-card .goal-progress {
  height: .28rem;
  margin-top: .38rem;
}

.goals-manager-mode .goal-rank-metrics {
  gap: .28rem;
  margin-top: .42rem;
}

.goals-manager-mode .goal-rank-metrics dd {
  font-size: .66rem;
}

.goals-manager-mode .goal-rank-row {
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: .35rem;
  padding: .42rem .5rem;
}

.goals-manager-mode .goal-rank-row > div:first-child {
  min-width: 0;
}

.goals-manager-mode .goal-rank-row > div:first-child strong {
  overflow: hidden;
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goals-manager-mode .goal-rank-meter {
  grid-column: 1 / -1;
  order: 3;
}

.goals-manager-mode .goal-rank-meter .goal-progress {
  height: .28rem;
  margin-top: 0;
}

.goals-manager-mode .goal-rank-values {
  align-self: center;
  text-align: right;
}

.goals-manager-mode .goal-rank-values > strong {
  font-size: .92rem;
}

.goals-manager-mode .goal-rank-values span {
  display: none;
}

.goals-manager-mode .goal-standings table {
  font-size: .72rem;
}

.goals-manager-mode .goal-master-detail {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
  gap: .5rem;
}

.goals-manager-mode .goal-standings th,
.goals-manager-mode .goal-standings td {
  padding: .22rem .4rem;
}

.goals-manager-mode .goal-standings th {
  font-size: .55rem;
}

.goals-manager-mode .goal-standings td:nth-child(2) {
  min-width: 190px;
}

.goals-manager-mode .goal-standings td:nth-child(2) strong {
  overflow: hidden;
  max-width: 250px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goals-manager-mode .goal-standings td:nth-child(2) small,
.goals-manager-mode .goal-team {
  font-size: .55rem;
}

.goals-manager-mode .goal-position {
  min-width: 1.4rem;
}

.goals-manager-mode .goal-standing-percent {
  grid-template-columns: 48px 70px;
  gap: .35rem;
}

.goals-manager-mode .goal-standing-percent .goal-progress {
  height: .26rem;
}

.goals-manager-mode .goal-filter-drop {
  min-height: 30px;
  padding: .3rem .5rem;
  font-size: .68rem;
}

.goals-manager-mode .goal-detail {
  padding: .65rem;
}

.goals-manager-mode .goal-detail h3 {
  font-size: .92rem;
}

.goals-manager-mode .goal-detail > strong {
  font-size: 1.35rem;
}

.goals-manager-mode .goal-detail-metrics {
  gap: .28rem;
  margin-top: .5rem;
}

.goals-manager-mode .goal-detail-metrics > div {
  padding-bottom: .28rem;
}

.goals-manager-mode .goal-detail-metrics b {
  font-size: .74rem;
}

.goals-manager-mode .goal-profit-strip {
  gap: .3rem;
  margin-top: .45rem;
}

.goals-manager-mode .goal-profit-strip > div {
  padding: .42rem .45rem;
}

.goals-manager-mode .goal-profit-strip span {
  font-size: .56rem;
}

.goals-manager-mode .goal-profit-strip strong {
  font-size: .7rem;
}

.goal-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .18);
}

.goal-card-header span {
  color: var(--bs-secondary-color);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-card-header h2 {
  margin: .2rem 0;
  font-size: clamp(1.25rem, 2vw, 2rem);
}

.goal-card-header p {
  margin: 0;
  color: var(--bs-secondary-color);
}

.goal-card-score {
  flex: 0 0 auto;
  min-width: 150px;
  padding: .55rem .75rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .58);
  text-align: right;
}

.goal-card-score small {
  display: block;
  margin-bottom: .25rem;
  color: var(--bs-secondary-color);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.goal-card-score strong {
  display: block;
  font-size: clamp(1.5rem, 2.5vw, 2.6rem);
  line-height: 1;
}

.goal-card-body {
  display: grid;
  grid-template-columns: minmax(420px, .85fr) minmax(500px, 1.15fr);
  gap: 1.25rem;
  align-items: start;
  padding-top: 1.1rem;
}

.goal-person-chart {
  min-height: 230px;
  padding: .5rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .14);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .42);
}

.goal-table {
  display: grid;
  gap: .65rem;
}

.goal-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.15fr) repeat(3, minmax(120px, .75fr));
  gap: .75rem;
  align-items: center;
  padding: .8rem .9rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .20);
  border-radius: 8px;
  background: rgba(var(--bs-body-bg-rgb), .55);
}

.goal-row strong,
.goal-row b {
  display: block;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.goal-row-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.goal-row-progress {
  grid-column: 1 / -1;
}

.goal-row-title small {
  flex: 0 0 auto;
  padding: .24rem .45rem;
  border-radius: 999px;
  background: rgba(var(--bs-secondary-rgb), .12);
}

.goal-card-footer {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  color: var(--bs-secondary-color);
  font-size: .82rem;
}

.goal-card-footer span {
  padding: .35rem .55rem;
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
  border-radius: 999px;
}

.goal-status-good {
  color: #22c55e;
}

.goal-status-warn {
  color: #f59e0b;
}

.goal-status-low {
  color: var(--bs-body-color);
}

.goal-sql-box {
  max-height: 360px;
  padding: 1rem;
  overflow: auto;
  border: 1px solid var(--bs-border-color);
  border-radius: 8px;
  background: rgba(var(--bs-secondary-rgb), .08);
  font-size: .82rem;
}

@media (max-width: 860px) {
  .landing-nav {
    align-items: stretch;
    flex-direction: column;
    padding: .8rem 0;
  }

  .landing-nav-actions,
  .landing-nav-actions .theme-select {
    width: 100%;
  }

  .landing-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 1.2rem;
  }

  .landing-copy h1 {
    font-size: clamp(3.4rem, 17vw, 5rem);
  }

  .landing-actions .btn {
    width: 100%;
  }

  .landing-metrics,
  .landing-feature-grid {
    grid-template-columns: 1fr;
  }

  .admin-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
  }

  .dashboard-header {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-controls {
    justify-content: flex-start;
  }

  .goals-hero,
  .goal-card-header {
    align-items: stretch;
    flex-direction: column;
  }

  .goals-controls {
    justify-content: flex-start;
  }

  .goals-controls #goals-month,
  .goals-controls .goal-viewer-select,
  .goals-controls .theme-select {
    width: 100%;
  }

  .stock-comparison-controls,
  .stock-period-form,
  .stock-comparison-controls .btn,
  .stock-comparison-controls .theme-select,
  .stock-period-form > div,
  .stock-period-form .form-control,
  .stock-period-form #stock-month,
  .stock-branch-toolbar,
  .stock-branch-toolbar .btn,
  .stock-branch-toolbar .theme-select,
  .stock-branch-toolbar > div,
  .stock-branch-toolbar .form-control,
  .stock-branch-toolbar #stock-branch-month {
    width: 100%;
  }

  .stock-branch-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .stock-branch-cta .btn-lg {
    width: 100%;
  }

  .accounting-map-toolbar,
  .accounting-map-form,
  .accounting-map-toolbar .theme-select,
  .accounting-map-form input[type="month"],
  .accounting-map-form .btn {
    width: 100%;
  }

  .accounting-map-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .stock-comparison-conclusion,
  .stock-context-panel,
  .stock-equalization-main,
  .stock-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .stock-motives {
    justify-content: flex-start;
  }

  .stock-verdict-items {
    grid-template-columns: 1fr;
  }

  .stock-routine-map {
    grid-template-columns: 1fr;
  }

  .stock-answer-grid,
  .stock-equalization-grid,
  .stock-answer-major > div {
    grid-template-columns: 1fr;
  }

  .stock-answer-major b {
    justify-self: start;
  }

  .stock-accounting-diagnosis {
    grid-template-columns: 1fr;
  }

  .goal-board,
  .goal-board-main,
  .goal-kpis,
  .analytics-billing-summary,
  .goal-card-body,
  .goal-row,
  .goal-rank-list,
  .goal-expense-grid,
  .goal-expense-totals,
  .goal-profit-strip,
  .goal-master-detail,
  .goals-manager-mode .goal-master-detail,
  .goal-history-monthly,
  .goal-history-rankings.is-company {
    grid-template-columns: 1fr;
  }

  .goal-history-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (min-width: 861px) and (max-width: 1199px) {
  .goal-rank-list,
  .goals-manager-mode .goal-rank-list,
  .goal-history-rankings.is-company {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.expense-adjustment-form {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(5, minmax(90px, 0.7fr)) minmax(180px, 1.5fr) auto;
  gap: 0.5rem;
  padding: 0.75rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.expense-adjustment-form .form-control {
  min-width: 0;
}

.branch-expense-adjustments-sheet td span {
  display: block;
  color: var(--bs-secondary-color);
  font-size: 0.78rem;
  line-height: 1.25;
}

@media (max-width: 992px) {
  .expense-adjustment-form {
    grid-template-columns: 1fr 1fr;
  }
}

/* ─── Month picker (Ajustes Gerenciais) ─────────────────────────── */
.expense-month-nav {
  overflow: visible;
}

.expense-month-year {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .75rem;
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .12);
  background: linear-gradient(180deg, rgba(var(--bs-secondary-rgb), .09), rgba(var(--bs-secondary-rgb), .03));
}

.expense-month-year strong {
  font-size: .85rem;
  font-weight: 800;
  letter-spacing: .06em;
}

.expense-month-year-btn {
  background: none;
  border: none;
  padding: .15rem .4rem;
  color: var(--bs-secondary-color);
  cursor: pointer;
  border-radius: 4px;
  line-height: 1;
  font-size: .78rem;
  transition: background .15s, color .15s;
}
.expense-month-year-btn:hover {
  background: rgba(var(--bs-primary-rgb), .12);
  color: var(--bs-primary);
}

.expense-month-table-wrap {
  overflow-x: auto;
}

.expense-month-table {
  width: 100%;
  min-width: max-content;
  border-collapse: collapse;
  table-layout: auto;
}

.expense-month-table th,
.expense-month-table td {
  min-width: 148px;
  padding: .42rem .3rem;
  text-align: center;
  border-right: 1px solid rgba(var(--bs-body-color-rgb), .1);
  cursor: pointer;
  font-size: .78rem;
  transition: background .15s;
  user-select: none;
}
.expense-month-table th:last-child,
.expense-month-table td:last-child {
  border-right: none;
}

.expense-month-table thead th {
  font-weight: 800;
  font-size: .76rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--bs-body-color);
  background: rgba(var(--bs-secondary-rgb), .06);
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb), .1);
}

.expense-month-table tbody td {
  font-size: .74rem;
  color: var(--bs-secondary-color);
}

.expense-month-table .expense-month-cell:hover th,
.expense-month-table th.expense-month-cell:hover,
.expense-month-table td.expense-month-cell:hover {
  background: rgba(var(--bs-primary-rgb), .08);
  color: var(--bs-primary);
}

.expense-month-table .expense-month-active,
.expense-month-table th.expense-month-active,
.expense-month-table td.expense-month-active {
  background: rgba(var(--bs-primary-rgb), .14) !important;
  color: var(--bs-primary) !important;
  font-weight: 700;
}

.expense-month-value {
  display: block;
  white-space: nowrap;
  font-weight: 600;
  user-select: text;
  cursor: text;
}

.expense-month-table-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 2rem;
  margin-left: auto;
  padding: .35rem .7rem;
  border: 1px solid rgba(var(--bs-primary-rgb), .26);
  border-radius: 8px;
  background: #fff;
  color: var(--bs-primary);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.expense-month-table-copy:hover,
.expense-month-table-copy:focus-visible,
.expense-month-table-copy.is-copied {
  outline: none;
  color: #fff;
  background: var(--bs-primary);
  border-color: var(--bs-primary);
}

.expense-month-value.is-negative {
  color: #dc3545;
}

.expense-month-empty {
  display: block;
  color: rgba(var(--bs-body-color-rgb), .25);
}

/* ─── Login Natan BI ───────────────────────────────────────────── */
.natam-login-page {
  --natam-orange: #f4773a;
  --natam-orange-dark: #df5d20;
  --natam-ink: #2d2d2d;
  --natam-muted: #666;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--natam-ink);
  background: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
}

body.has-homologation-banner .natam-login-page {
  min-height: calc(100vh - 44px);
}

.natam-login-header {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem clamp(1.25rem, 4vw, 4.5rem);
  border-bottom: 1px solid #e8e8e8;
  background: rgba(255, 255, 255, .97);
  z-index: 2;
}

.natam-login-brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--natam-ink);
  text-decoration: none;
}

.natam-login-brand img {
  width: 62px;
  height: 58px;
  object-fit: contain;
}

.natam-login-brand span {
  display: grid;
  line-height: 1.1;
}

.natam-login-brand strong {
  font-size: 1.05rem;
  font-weight: 750;
}

.natam-login-brand small {
  margin-top: .22rem;
  color: var(--natam-muted);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.natam-login-header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.natam-login-environment {
  color: #555;
  font-size: .8rem;
  font-weight: 600;
}

.natam-login-environment i {
  margin-right: .35rem;
  color: var(--natam-orange);
}

.natam-login-header .theme-select {
  width: 126px;
  min-width: 126px;
  border-color: #d8d8d8;
  font-size: .8rem;
}

.natam-login-layout {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(390px, .62fr);
  min-height: 610px;
}

.natam-login-showcase {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 6vw, 6rem);
  color: #fff;
  background:
    radial-gradient(circle at 82% 14%, rgba(255, 255, 255, .22), transparent 24%),
    linear-gradient(135deg, #fa854d 0%, var(--natam-orange) 48%, #e86125 100%);
}

.natam-login-showcase::before,
.natam-login-showcase::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
}

.natam-login-showcase::before {
  width: 440px;
  height: 440px;
  top: -235px;
  right: -120px;
}

.natam-login-showcase::after {
  width: 620px;
  height: 620px;
  right: -350px;
  bottom: -390px;
}

.natam-login-copy {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.natam-login-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .75rem;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  background: rgba(122, 47, 10, .12);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.natam-login-copy h1 {
  margin: 1.2rem 0 0;
  color: #fff !important;
  font-size: clamp(2.65rem, 5vw, 5.35rem);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.natam-login-copy h1 strong {
  color: #fff !important;
  font-weight: 750;
}

.natam-login-copy p {
  max-width: 610px;
  margin: 1.1rem 0 0;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.55;
}

.natam-bi-preview {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  margin-top: clamp(2rem, 5vh, 3.5rem);
  padding: 1rem;
  color: var(--natam-ink);
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 58px rgba(119, 42, 7, .28);
  transform: perspective(1100px) rotateX(1deg) rotateY(-2deg);
}

.natam-bi-preview-head,
.natam-bi-chart-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.natam-bi-preview-head {
  padding: .1rem .15rem .85rem;
  font-size: .82rem;
  font-weight: 700;
}

.natam-bi-preview-head > span:first-child i {
  margin-right: .4rem;
  color: var(--natam-orange);
}

.natam-bi-preview-filter {
  padding: .28rem .6rem;
  color: #555;
  border: 1px solid #dedede;
  border-radius: 4px;
  font-size: .7rem;
}

.natam-bi-kpis {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: .65rem;
}

.natam-bi-kpis > div {
  display: grid;
  min-height: 78px;
  padding: .75rem;
  border: 1px solid #eee;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(38, 43, 47, .06);
}

.natam-bi-kpis small,
.natam-bi-kpis span,
.natam-bi-chart-title span {
  color: #666;
  font-size: .66rem;
}

.natam-bi-kpis strong {
  margin: .1rem 0;
  color: var(--natam-orange-dark);
  font-size: 1.25rem;
}

.natam-bi-kpis .is-positive {
  color: #18864b;
}

.natam-bi-chart {
  margin-top: .65rem;
  padding: .8rem .85rem .55rem;
  border: 1px solid #eee;
  border-radius: 7px;
  background: #fff;
}

.natam-bi-chart-title strong {
  font-size: .76rem;
}

.natam-bi-bars {
  height: 76px;
  display: flex;
  align-items: flex-end;
  gap: 5%;
  margin-top: .55rem;
  padding: 0 3%;
  border-bottom: 1px solid #e7e7e7;
}

.natam-bi-bars i {
  flex: 1;
  height: var(--bar);
  max-width: 38px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(180deg, #fb8a54, #ef6a2b);
}

.natam-bi-chart-axis {
  display: flex;
  justify-content: space-between;
  padding: .32rem 2.5% 0;
  color: #707070;
  font-size: .53rem;
}

.natam-login-watermark {
  position: absolute;
  z-index: -1;
  left: 2.2rem;
  bottom: -1.7rem;
  color: rgba(255, 255, 255, .07);
  font-size: clamp(7rem, 18vw, 18rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.08em;
  user-select: none;
}

.natam-login-access {
  display: grid;
  place-items: center;
  padding: clamp(2rem, 5vw, 5rem);
  background:
    radial-gradient(circle at 90% 5%, rgba(244, 119, 58, .08), transparent 30%),
    #f7f7f6;
}

.natam-access-card {
  width: min(430px, 100%);
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border: 1px solid #e3e3e1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(37, 43, 47, .11);
}

.natam-access-logo {
  display: block;
  margin: -.6rem 0 .6rem;
  text-align: center;
}

.natam-access-logo img {
  width: 128px;
  height: 112px;
  object-fit: contain;
}

.natam-access-heading > span {
  color: var(--natam-orange-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.natam-access-heading h2 {
  margin: .5rem 0 0;
  color: var(--natam-ink);
  font-size: clamp(1.7rem, 2.4vw, 2.15rem);
  font-weight: 650;
  letter-spacing: -.03em;
}

.natam-access-heading p {
  margin: .55rem 0 1.75rem;
  color: var(--natam-muted);
  font-size: .92rem;
  line-height: 1.5;
}

.natam-field {
  margin-bottom: 1.1rem;
}

.natam-field .form-label {
  margin-bottom: .42rem;
  color: #3f3f3f;
  font-size: .82rem;
  font-weight: 650;
}

.natam-input-wrap {
  position: relative;
}

.natam-input-wrap > i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: .9rem;
  color: #777;
  transform: translateY(-50%);
}

.natam-input-wrap .form-control {
  padding-left: 2.65rem;
}

.natam-access-card .form-control,
.natam-password-wrap .input-group-text,
.natam-password-wrap .btn {
  min-height: 50px;
  border-color: #d9dadb;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: .92rem;
}

.natam-access-card .form-control:focus {
  border-color: var(--natam-orange);
  box-shadow: 0 0 0 .2rem rgba(244, 119, 58, .13);
}

.natam-password-wrap .input-group-text {
  border-right: 0;
  color: #777;
}

.natam-password-wrap .form-control {
  border-left: 0;
}

.natam-password-wrap .btn {
  border-left: 0;
  color: #666;
}

.natam-login-submit {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: .45rem;
  padding-inline: 1.15rem;
  color: #fff;
  border: 0;
  border-radius: 5px;
  background: var(--natam-orange);
  font-size: .93rem;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(223, 93, 32, .22);
}

.natam-login-submit:hover,
.natam-login-submit:focus {
  color: #fff;
  background: var(--natam-orange-dark);
}

.natam-access-support {
  margin: 1.25rem 0 0;
  color: #707070;
  font-size: .72rem;
  text-align: center;
}

.natam-access-support i {
  margin-right: .3rem;
  color: var(--natam-orange);
}

.natam-login-footer {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem clamp(1.25rem, 4vw, 4.5rem);
  color: #666;
  border-top: 1px solid #e8e8e8;
  background: #fff;
  font-size: .7rem;
}

@media (max-width: 980px) {
  .natam-login-layout {
    grid-template-columns: 1fr;
  }

  .natam-login-showcase {
    min-height: 560px;
    padding-bottom: 4rem;
  }

  .natam-login-access {
    padding-block: 4rem;
  }
}

@media (max-width: 620px) {
  .natam-login-header {
    min-height: 66px;
  }

  .natam-login-brand img {
    width: 42px;
    height: 42px;
  }

  .natam-login-environment,
  .natam-login-header .theme-select,
  .natam-bi-preview {
    display: none;
  }

  .natam-login-showcase {
    min-height: 360px;
    justify-content: flex-start;
    padding: 3.5rem 1.4rem;
  }

  .natam-login-copy h1 {
    font-size: 2.75rem;
  }

  .natam-login-access {
    padding: 1.5rem 1rem 3rem;
  }

  .natam-login-footer {
    justify-content: center;
    text-align: center;
  }

  .natam-login-footer span:last-child {
    display: none;
  }
}

/* BI layout refinement: use the available viewport instead of Power BI proportions. */
.sales-panel-app .home-dashboard-hero {
  min-height: 58px;
  padding: .7rem .8rem;
}

.sales-panel-app .home-dashboard-kicker,
.sales-panel-app .home-dashboard-hero h1 {
  display: none;
}

.sales-panel-app .sales-cards-row {
  margin: 0 .6rem .7rem 0;
}

.sales-panel-app .sales-pages-sidebar {
  margin-top: calc(-153px - .7rem);
}

.sales-panel-app {
  grid-template-columns: 196px minmax(0, 1fr);
  gap: .6rem;
}

.sales-panel-app .sales-vue-shell {
  grid-template-columns: 196px minmax(0, 1fr);
  gap: .6rem;
}

.sales-panel-app .sales-pages-sidebar {
  min-height: 560px;
}

.sales-panel-app .sales-pages-head {
  height: 56px;
  padding: 0 .85rem;
}

.sales-panel-app .sales-report-tabs {
  height: calc(100% - 56px);
  padding: .35rem;
}

.sales-panel-app .sales-report-tab {
  min-height: 39px;
  padding: .48rem .48rem .48rem .65rem;
  font-size: .78rem;
}

.sales-panel-app .sales-cards-row {
  grid-template-columns: minmax(250px, 1.55fr) repeat(3, minmax(135px, 1fr));
  gap: .7rem;
  margin-right: .6rem;
  margin-bottom: .7rem;
  margin-left: min(31vw, 390px);
}

.sales-panel-app .indicator-card {
  min-height: 88px;
  padding: .55rem .8rem;
  box-shadow: 0 8px 20px rgba(117, 67, 42, .22);
}

.sales-panel-app .indicator-card h2 {
  margin-bottom: .2rem;
  font-size: clamp(.9rem, 1.15vw, 1.22rem);
}

.sales-panel-app .indicator-card-value {
  font-size: clamp(1.75rem, 2.45vw, 2.85rem);
}

.sales-panel-app .sales-pbi-page {
  display: block;
  min-height: 0;
}

.sales-panel-app .sales-filter-rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: .55rem .7rem;
  align-items: end;
  margin-bottom: .65rem;
  padding: .7rem;
  border: 1px solid rgba(244, 122, 63, .28);
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 4px 14px rgba(72, 33, 16, .1);
}

.sales-panel-app .sales-filter-brand {
  display: none;
}

.sales-panel-app .sales-filter-box span {
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.sales-panel-app .sales-filter-input,
.sales-panel-app .sales-multi-select > summary {
  min-height: 36px;
  border-radius: 5px;
}

.sales-panel-app .sales-pbi-body {
  width: 100%;
  min-width: 0;
}

.sales-panel-app .sales-live-grid,
.sales-panel-app .sales-supplier-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  height: max(520px, calc(100vh - 415px));
  max-height: none;
}

.sales-panel-app .sales-live-left {
  grid-template-rows: minmax(126px, .28fr) minmax(0, 1.72fr);
}

.sales-panel-app .sales-clients-grid,
.sales-panel-app .sales-retail-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(350px, .8fr);
}

.sales-panel-app .sales-geo-visual,
.sales-panel-app .sales-rca-client-visual,
.sales-panel-app .sales-peso-rca-visual {
  min-height: max(520px, calc(100vh - 330px));
  height: auto;
}

.sales-panel-app .sales-product-toolbar,
.sales-panel-app .sales-rca-toolbar,
.sales-panel-app .sales-peso-toolbar,
.sales-panel-app .sales-mdias-compare-toolbar,
.sales-panel-app .sales-representativity-toolbar,
.sales-panel-app .sales-section-sales-toolbar,
.sales-panel-app .sales-cheese-toolbar,
.sales-panel-app .sales-sections-monthly-toolbar,
.sales-panel-app .sales-sections-toolbar,
.sales-panel-app .sales-store-stock-toolbar,
.sales-panel-app .sales-hamburger-toolbar,
.sales-panel-app .sales-cut-toolbar {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: .55rem;
}

.sales-panel-app .sales-mdias-compare-head,
.sales-panel-app .sales-representativity-head,
.sales-panel-app .sales-section-sales-head,
.sales-panel-app .sales-cheese-head,
.sales-panel-app .sales-sections-monthly-head,
.sales-panel-app .sales-sections-head,
.sales-panel-app .sales-store-stock-head,
.sales-panel-app .sales-hamburger-head,
.sales-panel-app .sales-cut-head {
  grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
  gap: .8rem;
  margin-bottom: .75rem;
}

.sales-panel-app .sales-product-scroll,
.sales-panel-app .sales-rca-client-scroll {
  max-height: max(480px, calc(100vh - 330px));
}

@media (max-width: 1280px) {
  .sales-panel-app,
  .sales-panel-app .sales-vue-shell {
    grid-template-columns: 174px minmax(0, 1fr);
  }

  .sales-panel-app .sales-cards-row {
    margin-left: 220px;
  }

  .sales-panel-app .sales-live-grid,
  .sales-panel-app .sales-supplier-grid,
  .sales-panel-app .sales-clients-grid,
  .sales-panel-app .sales-retail-grid {
    grid-template-columns: 1fr;
    height: auto;
  }
}

@media (max-width: 900px) {
  .sales-panel-app {
    display: block;
  }

  .sales-panel-app .home-dashboard-hero,
  .sales-panel-app #dashboard-cards,
  .sales-panel-app .home-reports-panel {
    grid-column: auto;
  }

  .sales-panel-app .sales-vue-shell {
    display: block;
  }

  .sales-panel-app .sales-pages-sidebar {
    position: relative;
    height: auto;
    min-height: 0;
    margin: 0 0 .65rem;
    border: 0;
  }

  .sales-panel-app .sales-pages-head {
    display: none;
  }

  .sales-panel-app .sales-report-tabs {
    display: flex;
    height: auto;
    gap: .35rem;
    overflow-x: auto;
  }

  .sales-panel-app .sales-report-tab {
    flex: 0 0 auto;
    width: auto;
  }

  .sales-panel-app .sales-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 .5rem .65rem;
  }

  .sales-panel-app .sales-filter-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sales-panel-app .sales-mdias-compare-head,
  .sales-panel-app .sales-representativity-head,
  .sales-panel-app .sales-section-sales-head,
  .sales-panel-app .sales-cheese-head,
  .sales-panel-app .sales-sections-monthly-head,
  .sales-panel-app .sales-sections-head,
  .sales-panel-app .sales-store-stock-head,
  .sales-panel-app .sales-hamburger-head,
  .sales-panel-app .sales-cut-head {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .sales-panel-app .sales-cards-row,
  .sales-panel-app .sales-filter-rail {
    grid-template-columns: 1fr;
  }
}

/* Compact report header: the active page is already identified in the page menu. */
.sales-panel-app .home-dashboard-hero { min-height: 58px; padding: .7rem .8rem; }
.sales-panel-app .home-dashboard-kicker,
.sales-panel-app .home-dashboard-hero h1 { display: none; }
.sales-panel-app .sales-cards-row { margin: 0 .6rem .7rem 0; }
.sales-panel-app .sales-pages-sidebar { margin-top: calc(-153px - .7rem); }

/* Page navigator: align the BI sidebar with the application's visual system. */
.sales-panel-app,
.sales-panel-app .sales-vue-shell {
  grid-template-columns: 224px minmax(0, 1fr);
}

.sales-panel-app .sales-pages-sidebar {
  display: flex;
  flex-direction: column;
  top: .7rem;
  width: 224px;
  min-width: 224px;
  height: calc(100vh - 1.4rem);
  max-height: calc(100vh - 1.4rem);
  min-height: 0;
  margin-top: 0;
  border: 1px solid rgba(225, 105, 50, .2);
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background: #fffaf7;
  box-shadow: 5px 0 18px rgba(79, 38, 19, .08);
}

.sales-panel-app .sales-pages-head {
  flex: 0 0 58px;
  height: 58px;
  padding: 0 1rem;
  color: #56301f;
  border-bottom: 1px solid #f0d9ce;
  background: #fff;
}

.sales-panel-app .sales-pages-head strong {
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: .01em;
}

.sales-panel-app .sales-pages-head i {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #e7662f;
  border-radius: 8px;
  background: #fff1e9;
}

.sales-panel-app .sales-report-tabs {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  padding: .65rem .55rem 1rem;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #e8a684 transparent;
}

.sales-panel-app .sales-report-tabs::-webkit-scrollbar {
  width: 8px;
}

.sales-panel-app .sales-report-tabs::-webkit-scrollbar-track {
  background: transparent;
}

.sales-panel-app .sales-report-tabs::-webkit-scrollbar-thumb {
  border: 2px solid #fffaf7;
  border-radius: 999px;
  background: #e8a684;
}

.sales-panel-app .sales-report-tab {
  display: flex;
  min-height: 38px;
  align-items: center;
  margin: 0 0 .2rem;
  padding: .55rem .72rem;
  color: #5b4439;
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.2;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.sales-panel-app .sales-report-tab:hover {
  color: #bd4e21;
  border-color: #f2d4c5;
  background: #fff;
  transform: translateX(2px);
}

.sales-panel-app .sales-report-tab.completed {
  color: #476052;
  background: transparent;
}

.sales-panel-app .sales-report-tab.completed::after {
  margin-left: auto;
  padding-left: .45rem;
  color: #22a35a;
}

.sales-panel-app .sales-report-tab.active,
.sales-panel-app .sales-report-tab.completed.active {
  color: #fff;
  font-weight: 800;
  border-color: #e86630;
  background: linear-gradient(135deg, #f4773f, #e85c27);
  box-shadow: 0 5px 12px rgba(218, 84, 32, .22);
  transform: none;
}

.sales-panel-app .sales-report-tab.active::before,
.sales-panel-app .sales-report-tab.completed.active::before {
  display: none;
}

.sales-panel-app .sales-report-tab.completed.active::after {
  color: #fff;
}

@media (max-width: 1280px) and (min-width: 901px) {
  .sales-panel-app,
  .sales-panel-app .sales-vue-shell {
    grid-template-columns: 200px minmax(0, 1fr);
  }

  .sales-panel-app .sales-pages-sidebar {
    width: 200px;
    min-width: 200px;
  }
}

@media (max-width: 900px) {
  .sales-panel-app .sales-pages-sidebar {
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    max-height: none;
    margin-top: 0;
  }

  .sales-panel-app .sales-report-tabs {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
  }
}

/* Evident loading state for filter application and report refreshes. */
.sales-panel-app .sales-refresh-overlay {
  position: absolute;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  padding: 1rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .02em;
  border: 0;
  border-radius: 8px;
  background: rgba(46, 24, 15, .58);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  backdrop-filter: blur(2px);
  pointer-events: all;
}

.sales-panel-app .sales-refresh-overlay::before,
.sales-panel-app .sales-visual-loading::before {
  content: "";
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 4px solid rgba(255,255,255,.42);
  border-top-color: #fff;
  border-radius: 50%;
  animation: sales-loading-spin .75s linear infinite;
}

.sales-panel-app .sales-visual-loading {
  display: flex;
  min-height: max(360px, calc(100vh - 330px));
  align-items: center;
  justify-content: center;
  gap: .9rem;
  color: #fff;
  font-size: 1.05rem;
  background: rgba(46, 24, 15, .62);
  border-color: rgba(255,255,255,.35);
  backdrop-filter: blur(2px);
}

@keyframes sales-loading-spin { to { transform: rotate(360deg); } }

/* Table metrics and monetary values follow accounting alignment. */
.sales-panel-app .sales-visual table th:not(:first-child),
.sales-panel-app .sales-visual table td:not(:first-child),
.sales-panel-app .sales-product-matrix table th:not(:first-child),
.sales-panel-app .sales-product-matrix table td:not(:first-child) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sales-panel-app .sales-visual table th:first-child,
.sales-panel-app .sales-visual table td:first-child {
  text-align: left;
}

/* Requested table alignment: every heading and value starts at the left edge. */
.sales-panel-app .sales-visual table th,
.sales-panel-app .sales-visual table td,
.sales-panel-app .sales-product-matrix table th,
.sales-panel-app .sales-product-matrix table td {
  text-align: left;
}

.sales-access-section-title { display:flex; align-items:center; gap:.5rem; margin:1.4rem 0 .8rem; font-size:1.1rem; }
.permissions-mode-toggle { display:flex; gap:.6rem; margin-bottom:1rem; }
.permissions-mode-toggle button.active { color:#fff; background:var(--bs-primary); border-color:var(--bs-primary); }
.sales-access-layout { display:grid; grid-template-columns:minmax(290px,360px) minmax(0,1fr); gap:1rem; min-height:calc(100vh - 150px); }
.sales-screen-access { margin-bottom:1rem; }
.sales-screen-access-head,.sales-screen-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.sales-screen-access-head h2 { margin:.2rem 0; font-size:1.35rem; }
.sales-screen-access-head p { margin:0; color:var(--bs-secondary-color); }
.sales-subtela-picker { margin-top:1rem; padding-top:1rem; border-top:1px dashed var(--bs-border-color); }
.sales-subtela-picker .form-label { margin-bottom:.35rem; font-weight:700; }
.sales-tela-siblings { margin:.7rem 0 0; padding:.55rem .8rem; color:var(--bs-secondary-color); font-size:.85rem; border:1px dashed var(--bs-border-color); border-radius:.5rem; }
#sales-screen-editor { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--bs-border-color); }
.sales-screen-editor-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.6rem; }
.sales-screen-editor-head #sales-screen-search { flex:1; max-width:430px; margin-bottom:0; }
.sales-access-users,.sales-access-editor { margin:0; }
.sales-access-user-list { display:grid; gap:.35rem; max-height:calc(100vh - 250px); margin-top:.8rem; overflow:auto; }
.sales-access-user { display:flex; align-items:center; justify-content:space-between; gap:.7rem; width:100%; padding:.7rem; text-align:left; border:1px solid var(--bs-border-color); border-radius:.6rem; background:var(--bs-body-bg); }
.sales-access-user:hover,.sales-access-user.active { border-color:var(--bs-primary); background:rgba(var(--bs-primary-rgb),.08); }
.sales-access-user span { display:grid; min-width:0; }
.sales-access-user small { color:var(--bs-secondary-color); }
.sales-access-empty { display:grid; place-content:center; justify-items:center; min-height:40vh; color:var(--bs-secondary-color); font-size:1rem; }
.sales-access-empty i { margin-bottom:1rem; font-size:3rem; }
.sales-access-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.sales-access-heading h2 { margin:.15rem 0 0; }
.sales-access-heading-actions,.sales-access-copy { display:flex; align-items:center; gap:.65rem; }
.sales-access-copy { margin-bottom:1rem; padding:.8rem; border:1px solid var(--bs-border-color); border-radius:.65rem; background:rgba(var(--bs-primary-rgb),.04); }
.sales-access-copy label { margin:0; font-weight:700; white-space:nowrap; }
.sales-access-copy select { min-width:240px; }
.sales-access-telas-block { margin-bottom:1rem; }
.sales-access-telas-block fieldset { padding:1rem; border:1px solid var(--bs-border-color); border-radius:.7rem; }
.sales-access-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.sales-access-columns fieldset { min-width:0; padding:1rem; border:1px solid var(--bs-border-color); border-radius:.7rem; }
.sales-access-columns legend { float:none; width:auto; padding:0 .4rem; font-size:1rem; font-weight:700; }
.sales-access-actions { display:flex; gap:.7rem; margin-bottom:.7rem; }
.sales-access-actions button { padding:0; color:var(--bs-primary); border:0; background:none; font-size:.82rem; }

/* Dual-list drag-and-drop: "Não permite" / "Permite" columns. */
.dual-list { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.dual-list-col { display:flex; flex-direction:column; min-width:0; }
.dual-list-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem; padding:.4rem .6rem; color:var(--bs-secondary-color); font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; border-radius:.4rem; background:rgba(var(--bs-body-color-rgb),.05); }
.dual-list-col:last-child .dual-list-head { color:var(--bs-primary); background:rgba(var(--bs-primary-rgb),.08); }
.dual-list-items { display:flex; flex-direction:column; gap:.35rem; min-height:120px; max-height:340px; padding:.5rem; overflow:auto; border:1px dashed var(--bs-border-color); border-radius:.6rem; background:var(--bs-body-bg); }
.dual-list-items.drag-over { border-color:var(--bs-primary); border-style:solid; background:rgba(var(--bs-primary-rgb),.06); }
.dual-list-item { padding:.5rem .6rem; border:1px solid var(--bs-border-color); border-radius:.5rem; background:var(--bs-body-bg); cursor:grab; user-select:none; }
.dual-list-item:active { cursor:grabbing; }
.dual-list-item.dragging { opacity:.35; }
.dual-list-item strong { display:block; font-size:.86rem; }
.dual-list-item small { display:block; color:var(--bs-secondary-color); font-size:.74rem; }
.dual-list-empty { margin:0; padding:.6rem; color:var(--bs-secondary-color); font-size:.78rem; text-align:center; }
@media(max-width:900px){.sales-access-layout,.sales-access-columns{grid-template-columns:1fr}.sales-access-user-list{max-height:360px}}
@media(max-width:640px){.dual-list{grid-template-columns:1fr}}
/* Mobile application shell and touch-first data panels */
.mobile-menu-toggle,.sidebar-backdrop{display:none}
img[src*="natan-logo"],img[alt="Natan"]{display:none!important}
@media (max-width:860px){
  html{overflow-x:hidden} body.app-with-sidebar{overflow-x:hidden;padding-top:env(safe-area-inset-top)}
  .app-with-sidebar .sidebar{position:fixed!important;z-index:1055!important;inset:0 auto 0 0!important;width:min(86vw,320px)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:0 0 35px rgba(0,0,0,.28)}
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  .sidebar-nav{overscroll-behavior:contain;padding-bottom:calc(5rem + env(safe-area-inset-bottom))}
  .sidebar-link{min-height:46px;padding:.72rem 1rem}
  .admin-main,.app-with-sidebar .admin-main{margin-left:0!important;width:100%!important;min-width:0!important;padding-top:58px}
  .mobile-menu-toggle{display:grid;place-items:center;position:fixed;z-index:1060;top:calc(10px + env(safe-area-inset-top));left:12px;width:44px;height:44px;border:0;border-radius:12px;background:#12324a;color:#fff;box-shadow:0 5px 18px rgba(18,50,74,.3);font-size:1.1rem}
  .sidebar-backdrop{display:block;position:fixed;z-index:1050;inset:0;border:0;background:rgba(6,20,31,.52);opacity:0;visibility:hidden;transition:.2s;backdrop-filter:blur(2px)}
  body.mobile-menu-open{overflow:hidden} body.mobile-menu-open .sidebar-backdrop{opacity:1;visibility:visible}
  main,.container,.container-fluid,.dashboard-app,.branch-expenses-app,.sales-panel-app,.stock-comparison-app{max-width:100%!important;min-width:0!important}
  .container,.container-fluid{padding-left:12px!important;padding-right:12px!important}
  h1,.h1{font-size:clamp(1.45rem,7vw,2rem)!important} h2,.h2{font-size:clamp(1.2rem,5.5vw,1.65rem)!important}
  .card,.analytics-sheet,.dashboard-card{border-radius:14px!important}
  .row{--bs-gutter-x:.8rem}
  .form-control,.form-select,.btn{min-height:44px}
  .table-responsive,.analytics-table-wrap,.expense-month-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:thin}
  table{white-space:nowrap} td,th{padding:.65rem .72rem!important;font-size:.83rem}
  .modal-dialog{margin:.5rem;max-width:calc(100% - 1rem)}
  .modal-dialog-scrollable{height:calc(100dvh - 1rem)} .modal-content{border-radius:16px}.modal-body{padding:1rem;overflow-x:hidden}
  .modal-footer{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}
  .btn-group,.input-group{max-width:100%}
  canvas,svg,.highcharts-container{max-width:100%!important}
}
@media (max-width:575.98px){
  .d-flex.flex-wrap{gap:.5rem!important}
  .analytics-kpis,.dashboard-kpis,.sales-kpi-grid{grid-template-columns:1fr 1fr!important;gap:.65rem!important}
  .analytics-kpis article,.indicator-card{min-width:0!important;padding:.8rem!important}
  .analytics-kpis strong,.indicator-card-value{font-size:clamp(1rem,5vw,1.45rem)!important;overflow-wrap:anywhere}
  .expense-month-year{position:sticky;left:0}
}

/* Mobile v2: revisão completa da aplicação */
@media (max-width: 860px) {
  body.app-with-sidebar .admin-main { padding: 58px 0 0 !important; }
  body.app-with-sidebar .dashboard-app:not(.sales-panel-app) { padding: 12px !important; }
  .dashboard-app { min-height: 100dvh; }
  .goals-hero { gap: 12px !important; margin-bottom: 14px !important; padding: 14px !important; border-radius: 14px !important; }
  .goals-hero > div, .goals-controls, .goals-controls > * { min-width: 0; max-width: 100%; }
  .goals-hero h1 { margin-top: 3px !important; font-size: clamp(1.7rem, 8vw, 2.35rem) !important; line-height: 1.05 !important; overflow-wrap: anywhere; }
  .goals-controls { width: 100%; display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .goals-controls .form-select, .goals-controls .form-control, .goals-controls .btn { width: 100% !important; }
  .analytics-sheet { max-width: 100%; overflow: hidden; margin-bottom: 12px !important; border-radius: 12px !important; }
  .analytics-sheet-title { min-height: 48px; flex-wrap: wrap; gap: 8px; padding: 10px 12px !important; }
  .analytics-sheet-actions { width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
  .branch-expense-kpis, .goal-kpis, .expense-statistics-app .branch-expense-kpis { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important; }
  .branch-expense-kpis .goal-kpi { min-width: 0; min-height: 108px; padding: 10px !important; }
  .branch-expense-kpis .goal-kpi-icon { width: 34px !important; height: 34px !important; }
  .branch-expense-kpis .goal-kpi strong { font-size: clamp(1rem, 5vw, 1.45rem) !important; overflow-wrap: anywhere; }
  .expense-month-table { min-width: 760px; }
  .expense-month-table-wrap { border-top: 1px solid var(--bs-border-color); }
  .stats-chart, .chart-box { min-height: 300px !important; height: 320px !important; }
  .stats-grid { gap: 12px !important; }
  .inventory-adjustments-tools, .analytics-toolbar { width: 100%; }

  /* Filtros que possuem grade inline nas views antigas */
  .expense-account-app .analytics-sheet > div[style] > div[style],
  .payables-app .analytics-sheet > div[style] > div[style] { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .expense-account-app #conta-dropdown { position: fixed !important; left: 12px !important; right: 12px !important; top: 175px !important; z-index: 2000 !important; }
  .expense-account-app #conta-list { max-height: 50dvh !important; }
  #acc-table-wrap .analytics-sheet-title { align-items: stretch !important; flex-direction: column; }
  #acc-table-wrap .analytics-sheet-title > div { width: 100%; display: grid !important; grid-template-columns: 1fr 1fr; }
  #acc-table-wrap .analytics-sheet-title input, #acc-table-wrap .analytics-sheet-title select { width: 100% !important; }
  .payable-filters { grid-template-columns: 1fr !important; }
  .pd-title { grid-template-columns: minmax(80px,.7fr) minmax(0,1.6fr) minmax(100px,.8fr) !important; }
  .payable-tree summary { align-items: flex-start; flex-direction: column; }

  /* Painel de Vendas: navegação e conteúdo realmente responsivos */
  .app-with-sidebar .sales-panel-app, .sales-panel-app {
    display: block !important; width: 100% !important; min-height: 100dvh !important;
    margin: 0 !important; padding: 0 10px 18px !important; overflow: hidden !important;
  }
  .sales-panel-app .home-dashboard-hero {
    display: flex !important; grid-column: auto !important; min-height: 116px !important;
    align-items: flex-start !important; flex-direction: column !important; justify-content: center !important;
    margin: 0 -10px 10px !important; padding: 14px !important;
  }
  .sales-panel-app .dashboard-controls { display: none !important; }
  .sales-panel-app .home-dashboard-hero h1 { max-width: 100%; margin: 4px 0 0 !important; font-size: clamp(2rem, 11vw, 3rem) !important; line-height: 1 !important; white-space: normal !important; }
  .sales-panel-app .home-dashboard-controls { position: static !important; width: 100%; margin-top: 8px; justify-content: flex-start !important; transform: none !important; }
  .sales-panel-app .home-dashboard-controls > * { min-height: 38px !important; }
  .sales-panel-app .home-reports-panel, .sales-panel-app .home-reports-panel:has(.sales-vue-shell) { width: 100% !important; min-height: 0 !important; margin: 0 !important; overflow: hidden !important; }
  .sales-panel-app .sales-vue-shell { display: flex !important; width: 100% !important; flex-direction: column !important; gap: 10px !important; margin-top: 66px !important; }
  .sales-panel-app .sales-vue-main { display: flex !important; grid-column: auto !important; grid-row: auto !important; width: 100% !important; overflow: hidden !important; }
  .sales-panel-app .sales-pages-sidebar {
    position: static !important; order: -1; width: 100% !important; height: auto !important; min-height: 0 !important;
    margin: 0 !important; overflow: visible !important; border: 1px solid rgba(0,0,0,.18) !important; border-radius: 12px !important;
  }
  .sales-panel-app .sales-pages-head { height: 42px !important; padding: 0 12px !important; }
  .sales-panel-app .sales-pages-head i { transform: rotate(-90deg); }
  .sales-panel-app .sales-report-tabs {
    display: flex !important; height: auto !important; gap: 6px !important; padding: 7px !important;
    overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x proximity; scrollbar-width: thin;
  }
  .sales-panel-app .sales-report-tab {
    flex: 0 0 auto !important; width: auto !important; min-height: 42px !important; max-width: 190px;
    padding: 8px 12px !important; border-radius: 8px !important; scroll-snap-align: start; white-space: nowrap !important;
  }
  .sales-panel-app .sales-report-tab.completed { border: 1px solid rgba(32,166,87,.25) !important; }
  .sales-panel-app .sales-report-tab.active::before { display: none; }
  .sales-panel-app .sales-page-content, .sales-panel-app .sales-report-panel, .sales-panel-app .sales-pbi-body { width: 100% !important; min-width: 0 !important; }
  .sales-panel-app .sales-pbi-page { display: flex !important; min-height: 0 !important; flex-direction: column !important; gap: 10px !important; }
  .sales-panel-app .sales-filter-rail {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important;
    padding: 10px !important; border: 1px solid rgba(0,0,0,.16); border-radius: 10px; background: rgba(255,255,255,.96);
  }
  .sales-panel-app .sales-filter-brand { display: none !important; }
  .sales-panel-app .sales-filter-box b, .sales-panel-app .sales-filter-input { min-height: 42px !important; font-size: .82rem !important; }
  .sales-panel-app .sales-cards-row {
    position: static !important; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    width: 100% !important; gap: 8px !important; margin: 0 0 10px !important;
  }
  .sales-panel-app .indicator-card { min-width: 0 !important; min-height: 112px !important; padding: 10px !important; }
  .sales-panel-app .indicator-card h2 { font-size: .78rem !important; }
  .sales-panel-app .indicator-card-value { font-size: clamp(1.15rem,6vw,1.65rem) !important; overflow-wrap: anywhere; }
  .sales-panel-app .sales-pbi-body { display: block !important; overflow: hidden !important; }
  .sales-panel-app .sales-live-grid, .sales-panel-app .sales-clients-grid, .sales-panel-app .sales-retail-grid,
  .sales-panel-app .sales-supplier-grid { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; height: auto !important; min-height: 0 !important; gap: 10px !important; }
  .sales-panel-app .sales-live-left, .sales-panel-app .sales-retail-left, .sales-panel-app .sales-retail-right,
  .sales-panel-app .sales-supplier-left { display: grid !important; grid-template-rows: auto !important; height: auto !important; }
  .sales-panel-app .sales-visual, .sales-panel-app .sales-product-matrix, .sales-panel-app .sales-rentability-visual,
  .sales-panel-app .sales-geo-visual { width: 100% !important; min-width: 0 !important; min-height: 280px !important; height: auto !important; overflow: auto !important; }
  .sales-panel-app .sales-product-toolbar, .sales-panel-app .sales-rentability-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; padding: 8px !important; }
  .sales-panel-app .sales-product-scroll, .sales-panel-app .sales-rentability-table-wrap,
  .sales-panel-app .sales-geo-table-wrap, .sales-panel-app [class*="-scroll"] { max-width: 100% !important; overflow: auto !important; -webkit-overflow-scrolling: touch; }
  .sales-panel-app .sales-product-scroll .sales-product-name-head,
  .sales-panel-app .sales-product-scroll tbody td:first-child,
  .sales-panel-app .sales-product-scroll tfoot th:first-child { min-width: 175px !important; max-width: 175px !important; }
  .sales-panel-app table { width: max-content !important; min-width: 620px !important; font-size: .75rem !important; }
  .sales-panel-app th, .sales-panel-app td { padding: 7px 8px !important; }
}

@media (max-width: 420px) {
  .branch-expense-kpis, .goal-kpis, .expense-statistics-app .branch-expense-kpis { grid-template-columns: 1fr !important; }
  .sales-panel-app .sales-filter-rail, .sales-panel-app .sales-product-toolbar,
  .sales-panel-app .sales-rentability-toolbar { grid-template-columns: 1fr !important; }
  .sales-panel-app .sales-cards-row { grid-template-columns: 1fr 1fr !important; }
  .sales-panel-app .sales-report-tab { max-width: 165px; font-size: .82rem !important; }
  #acc-table-wrap .analytics-sheet-title > div { grid-template-columns: 1fr !important; }
}

@media (max-width: 860px) {
  .payable-detail-app #pd-kpis .goal-kpi-body { grid-column: 1 / -1 !important; min-width: 0; }
  .payable-detail-app #pd-kpis .goal-kpi strong { font-size: 1.45rem !important; line-height: 1.1; word-break: normal !important; overflow-wrap: normal !important; }
}

/* Abas de classificacao importadas da planilha completa de despesas. */
.expense-workbook-shell {
  --expense-workbook-panel-bg: #fff;
  min-width: 0;
  margin-bottom: 16px;
  overflow: visible;
  overflow-anchor: none;
  border: 1px solid #d5d9dc;
  border-radius: 12px;
  background: var(--expense-workbook-panel-bg);
  box-shadow: 0 10px 26px rgba(62, 50, 43, .06);
}

/* Sticky workbook navigation must use the page scroll container. */
.dashboard-app.branch-expenses-app,
.dashboard-app.dre-app,
.dashboard-app.expense-evolution-app {
  overflow: visible;
}

.expense-workbook-tabs {
  position: sticky;
  top: calc(var(--app-sticky-top, 0px) + var(--app-sticky-breadcrumb-space, 52px));
  z-index: 1010;
  display: flex;
  align-items: flex-end;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  margin: 0 !important;
  padding: 10px 12px 0;
  border: 0;
  border-bottom: 0;
  border-radius: 11px 11px 0 0;
  background: #eceef0;
  box-shadow: 0 8px 0 var(--expense-workbook-panel-bg), 0 12px 14px rgba(61, 47, 40, .06);
  scrollbar-width: thin;
  scrollbar-color: #ef9a72 transparent;
}

.expense-workbook-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 43px;
  margin: 0 0 -1px -1px;
  padding: 10px 15px;
  border: 1px solid #d4d7da;
  border-bottom-color: #cfd3d6;
  border-radius: 8px 8px 0 0;
  background: #fffaf7;
  color: #71422f;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 rgba(70, 54, 46, .04);
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.expense-workbook-tab:first-child {
  margin-left: 0;
}

.expense-workbook-tab:hover {
  z-index: 1;
  color: #cf4f1c;
  border-color: #efad8e;
  background: #fff4ee;
}

.expense-workbook-tab.is-active {
  z-index: 2;
  padding-top: 8px;
  color: #d95320;
  border-color: #d5d8db;
  border-top: 3px solid #ef6b35;
  border-bottom: 0;
  background: var(--expense-workbook-panel-bg);
  box-shadow: none;
}

.expense-workbook-tab.is-active::after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 3px;
  background: var(--expense-workbook-panel-bg);
  content: '';
}

.expense-workbook-tab:focus-visible {
  z-index: 3;
  outline: 3px solid rgba(239, 107, 53, .22);
  outline-offset: -3px;
}

.expense-workbook-panel {
  min-width: 0;
  padding: 14px 12px 12px;
  overflow-anchor: none;
  border-radius: 0 0 11px 11px;
  background: var(--expense-workbook-panel-bg);
}

.expense-workbook-panel > :last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  .expense-workbook-shell {
    border-radius: 10px;
  }

  .expense-workbook-tabs {
    padding-inline: 8px;
  }

  .expense-workbook-tab {
    min-height: 41px;
    padding-inline: 12px;
    font-size: 12px;
  }

  .expense-workbook-panel {
    padding: 10px 8px 8px;
  }
}

/* Keep the sales workspace fluid after legacy compatibility rules. */
.sales-panel-app,
.sales-panel-app .sales-vue-shell {
  grid-template-columns: minmax(0, 1fr);
}

.app-with-sidebar .sales-panel-app {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.sales-panel-app .home-dashboard-hero {
  min-height: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
}

.sales-panel-app .home-dashboard-kicker,
.sales-panel-app .home-dashboard-hero h1 {
  display: block;
}

.sales-panel-app .sales-cards-row {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  margin: 0;
}

.sales-panel-app .indicator-card-value {
  overflow: visible;
  font-size: clamp(1.35rem, 2vw, 2.4rem);
  text-overflow: clip;
}

.sales-panel-app .sales-pages-sidebar {
  position: static;
  display: block;
  width: 100%;
  min-width: 0;
  height: auto;
  max-height: none;
  min-height: 0;
  margin: 0;
  border: 1px solid var(--sales-line);
  border-radius: 14px;
  background: var(--sales-surface);
}

.sales-panel-app .sales-pages-head {
  height: auto;
  min-height: 42px;
  padding: .65rem 1rem 0;
  border: 0;
  background: transparent;
}

.sales-panel-app .sales-pages-head i {
  display: none;
}

.sales-panel-app .sales-report-tabs {
  display: flex;
  width: 100%;
  height: auto;
  min-height: 0;
  gap: .4rem;
  padding: .45rem .75rem .8rem;
  overflow-x: auto;
  overflow-y: hidden;
}

.sales-panel-app .sales-report-tab {
  display: inline-flex;
  width: auto;
  min-width: max-content;
  min-height: 38px;
  flex: 0 0 auto;
  margin: 0;
  padding: .55rem .8rem;
  border-radius: 999px;
}

.sales-panel-app .sales-report-tab:hover {
  transform: none;
}

.sales-panel-app .sales-live-grid,
.sales-panel-app .sales-supplier-grid,
.sales-panel-app .sales-clients-grid,
.sales-panel-app .sales-retail-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  height: auto;
  max-height: none;
}

.sales-panel-app .sales-live-left {
  grid-template-rows: none;
}

.sales-panel-app .sales-geo-visual,
.sales-panel-app .sales-rca-client-visual,
.sales-panel-app .sales-peso-rca-visual,
.sales-panel-app .sales-rentability-visual {
  min-height: 0;
  height: auto;
}

.sales-panel-app .sales-product-scroll,
.sales-panel-app .sales-rca-client-scroll,
.sales-panel-app .sales-peso-rca-scroll {
  max-height: min(68vh, 760px);
}

@media (max-width: 760px) {
  .app-with-sidebar .sales-panel-app {
    margin: 0;
  }

  .sales-panel-app .sales-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Sidebar hierarchy: consistent type, clear location and calmer color use. */
body.app-with-sidebar {
  --sidebar-width: 260px;
}

body.app-with-sidebar .sidebar {
  color: #403936;
  font-family: var(--bs-body-font-family, system-ui, -apple-system, "Segoe UI", sans-serif);
  background: #fffdfc;
}

body.app-with-sidebar .sidebar-brand {
  color: #d95622;
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -.01em;
}

body.app-with-sidebar .sidebar-section-toggle {
  position: relative;
  min-height: 42px;
  padding: 9px 11px;
  color: #625b57;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

body.app-with-sidebar .sidebar-section-toggle > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.app-with-sidebar .sidebar-section-toggle > span > i {
  width: 20px;
  color: #e36a36;
  font-size: 13px;
}

body.app-with-sidebar .sidebar-section-toggle:hover {
  color: #a9441b;
  background: #fff5f0;
}

body.app-with-sidebar .sidebar-group.is-open > .sidebar-section-toggle {
  color: #3f3935;
  background: #f5f3f2;
}

body.app-with-sidebar .sidebar-group.has-active > .sidebar-section-toggle {
  color: #a64018;
  background: #fff0e8;
  box-shadow: inset 3px 0 0 #ed6b35;
}

body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle {
  color: #fff;
  background: linear-gradient(100deg, #f4773a, #e9632c);
  box-shadow: 0 5px 13px rgba(220, 86, 29, .2);
}

body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle > span > i,
body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle > .sidebar-chevron {
  color: #fff;
}

body.app-with-sidebar .sidebar-link {
  min-height: 40px;
  gap: 10px;
  padding: 8px 11px;
  color: #4a4440;
  font-family: inherit;
  font-size: 14px;
  font-weight: 560;
  line-height: 1.25;
  letter-spacing: 0;
}

body.app-with-sidebar .sidebar-link > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.app-with-sidebar .sidebar-link > i {
  width: 20px;
  flex: 0 0 20px;
  color: #e36a36;
  font-size: 14px;
  text-align: center;
}

body.app-with-sidebar .sidebar-link:hover {
  color: #a9441b;
  background: #fff4ee;
}

body.app-with-sidebar .sidebar-link.active {
  color: #a43f18;
  font-weight: 750;
  background: #ffe9de;
  box-shadow: inset 3px 0 0 #ed6b35;
}

body.app-with-sidebar .sidebar-link.active > i {
  color: #d95520;
}

body.app-with-sidebar .sidebar-parent-row {
  grid-template-columns: minmax(0, 1fr) 32px;
}

body.app-with-sidebar .sidebar-submenu-toggle {
  color: #766e69;
  font-family: inherit;
}

body.app-with-sidebar .sidebar-sublink {
  min-height: 34px;
  padding: 7px 9px;
  color: #625b57;
  font-family: inherit;
  font-size: 12px;
  font-weight: 550;
  letter-spacing: 0;
  text-transform: none;
}

body.app-with-sidebar .sidebar-sublink.active {
  color: #a64018;
  font-weight: 750;
  background: #ffe9de;
}

body.app-with-sidebar .sidebar-chevron {
  color: #8a817b;
}

@media (max-width: 860px) {
  body.app-with-sidebar {
    --sidebar-width: min(86vw, 320px);
  }

  body.app-with-sidebar .sidebar-link {
    min-height: 44px;
    font-size: 15px;
  }

  body.app-with-sidebar .sidebar-section-toggle {
    font-size: 13px;
  }
}

/* The sales workspace must never cross the application sidebar boundary. */
.sales-panel-layout .sidebar {
  z-index: 50;
}

.sales-panel-layout .admin-main {
  position: relative;
  z-index: 1;
  max-width: 100%;
  overflow-x: clip;
}

.sales-panel-layout .sales-panel-app,
.sales-panel-layout .sales-vue-shell,
.sales-panel-layout .sales-vue-main,
.sales-panel-layout .home-reports-panel {
  min-width: 0;
  max-width: 100%;
}

/* Desktop navigation as a floating application menu. */
@media (min-width: 861px) {
  body.app-with-sidebar .sidebar {
    position: sticky;
    top: 12px;
    align-self: start;
    width: auto;
    min-width: 0;
    height: calc(100vh - 24px);
    margin: 12px 10px;
    overflow: hidden;
    border: 1px solid rgba(80, 61, 50, .12);
    border-radius: 16px;
    background: rgba(255, 252, 250, .98);
    box-shadow: 0 16px 42px rgba(74, 47, 31, .14);
  }

  body.has-homologation-banner.app-with-sidebar .sidebar {
    top: 56px;
    height: calc(100vh - 68px);
  }

  body.app-with-sidebar .sidebar-brand {
    flex: 0 0 64px;
    height: 64px;
    padding-inline: 14px;
    border-bottom-color: rgba(80, 61, 50, .09);
    border-radius: 16px 16px 0 0;
  }

  body.app-with-sidebar .sidebar-nav {
    min-height: 0;
    padding: 8px;
  }

  body.app-with-sidebar .sidebar-link {
    min-height: 42px;
    margin-bottom: 3px;
    padding: 9px 10px;
    border-radius: 9px;
  }

  body.app-with-sidebar .sidebar-section {
    margin-top: 9px;
    padding-inline: 10px;
  }

  body.app-with-sidebar .logout-form {
    margin: 0;
    padding: 10px;
    border-radius: 0 0 16px 16px;
    background: rgba(255,255,255,.88);
  }
}

@media (max-width: 860px) {
  body.app-with-sidebar .sidebar {
    margin: 0 !important;
    border-radius: 0 18px 18px 0 !important;
  }

  body.app-with-sidebar .sidebar-brand {
    padding-left: 64px !important;
  }

  body.has-homologation-banner .mobile-menu-toggle {
    top: calc(54px + env(safe-area-inset-top));
  }

  body.has-homologation-banner.app-with-sidebar .sidebar {
    top: 44px !important;
    bottom: 0 !important;
    height: calc(100dvh - 44px) !important;
  }
}

@media (max-width: 460px) {
  .sales-panel-app .sales-cards-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Sales dashboard visual direction: compact, calm and information-first. */
.sales-panel-app {
  --sales-canvas: #f4f5f7;
  --sales-surface: #fff;
  --sales-text: #24211f;
  --sales-muted: #716a65;
  --sales-line: #e5e2df;
  gap: 12px;
  padding: 16px 20px 28px;
  background: var(--sales-canvas);
}

.sales-panel-app .home-dashboard-hero {
  min-height: 0;
  padding: 12px 4px 14px;
  align-items: end;
  border: 0;
  border-bottom: 1px solid #ddd9d5;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.sales-panel-app .home-dashboard-kicker {
  margin-bottom: 3px;
  color: #de602b;
  font-size: 10px;
  letter-spacing: .12em;
}

.sales-panel-app .home-dashboard-hero h1 {
  margin: 0;
  font-size: clamp(1.9rem, 2.25vw, 2.65rem);
  font-weight: 760;
  letter-spacing: -.035em;
}

.sales-panel-app .dashboard-controls {
  padding: 0;
}

.sales-panel-app .refresh-control .form-select,
.sales-panel-app .refresh-control .input-group-text,
.sales-panel-app .dashboard-controls .btn {
  min-height: 34px;
  border-color: #ddd9d5;
  border-radius: 7px;
  box-shadow: none;
}

.sales-panel-app .sales-pages-sidebar {
  overflow: visible;
  border: 0;
  border-bottom: 1px solid #ddd9d5;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.sales-panel-app .sales-pages-head {
  display: none;
}

.sales-panel-app .sales-report-tabs {
  gap: 3px;
  padding: 0 0 9px;
  scrollbar-width: thin;
}

.sales-panel-app .sales-report-tab,
.sales-panel-app .sales-report-tab.completed {
  min-height: 34px;
  padding: 7px 11px;
  color: #67605b;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .015em;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
}

.sales-panel-app .sales-report-tab:hover,
.sales-panel-app .sales-report-tab.completed:hover {
  color: #b84b20;
  border-color: #eaded8;
  background: #fff;
}

.sales-panel-app .sales-report-tab.active,
.sales-panel-app .sales-report-tab.completed.active {
  color: #fff;
  border-color: #e9632d;
  background: #ed6b35;
  box-shadow: 0 3px 8px rgba(211, 81, 29, .18);
}

.sales-panel-app .sales-report-tab.completed::after {
  display: none;
}

.sales-panel-app .sales-cards-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.sales-panel-app .indicator-card {
  min-height: 82px;
  padding: 13px 16px 12px;
  align-items: start;
  justify-content: center;
  border: 1px solid var(--sales-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 3px 0 #ef713b, 0 2px 6px rgba(54, 43, 36, .045);
}

.sales-panel-app .indicator-card h2 {
  margin: 0 0 7px;
  color: #756e69;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .07em;
}

.sales-panel-app .indicator-card-value {
  overflow: visible;
  color: var(--sales-text);
  font-size: clamp(1.45rem, 1.75vw, 2rem) !important;
  font-weight: 780;
  letter-spacing: -.03em;
  line-height: 1;
  text-overflow: clip;
}

.sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 8px;
  align-items: stretch;
}

.sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-filter-rail {
  grid-column: 1;
  grid-row: 1;
}

.sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-filter-confirm-bar {
  grid-column: 2;
  grid-row: 1;
}

.sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-pbi-body {
  grid-column: 1 / -1;
  grid-row: 2;
}

.sales-panel-app .sales-filter-confirm-bar {
  position: static;
  min-height: 58px;
  padding: 8px 9px 8px 13px;
  gap: 14px;
  color: #5c5550;
  font-size: 11px;
  border: 1px solid var(--sales-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

.sales-panel-app .sales-filter-confirm-bar button {
  min-height: 34px;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
  border-radius: 7px;
  box-shadow: none;
}

.sales-panel-app .sales-filter-rail,
.sales-panel-app .sales-product-toolbar,
.sales-panel-app .sales-rca-toolbar,
.sales-panel-app .sales-peso-toolbar,
.sales-panel-app .sales-mdias-compare-toolbar,
.sales-panel-app .sales-representativity-toolbar,
.sales-panel-app .sales-section-sales-toolbar,
.sales-panel-app .sales-cheese-toolbar,
.sales-panel-app .sales-sections-monthly-toolbar,
.sales-panel-app .sales-sections-toolbar,
.sales-panel-app .sales-store-stock-toolbar,
.sales-panel-app .sales-hamburger-toolbar,
.sales-panel-app .sales-cut-toolbar {
  min-height: 58px;
  align-items: end;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--sales-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}

.sales-panel-app .sales-filter-box span,
.sales-panel-app .sales-product-filter > span {
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .05em;
}

.sales-panel-app .sales-filter-box b,
.sales-panel-app .sales-filter-input,
.sales-panel-app .sales-multi-select > summary,
.sales-panel-app .sales-product-input-wrap input {
  min-height: 34px;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 12px;
  border-radius: 6px;
  background: #fbfbfb;
}

.sales-panel-app select.sales-filter-input {
  appearance: none;
  cursor: pointer;
}

.sales-panel-app .sales-multi-menu {
  border-color: #ddd9d5;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(43, 32, 26, .14);
}

.sales-panel-app .sales-live-grid,
.sales-panel-app .sales-clients-grid,
.sales-panel-app .sales-retail-grid,
.sales-panel-app .sales-supplier-grid {
  gap: 10px;
}

.sales-panel-app .sales-live-grid {
  grid-template-columns: minmax(520px, 1.15fr) minmax(390px, .85fr);
  align-items: start;
}

.sales-panel-app .sales-live-left {
  display: contents;
}

.sales-panel-app .sales-live-left > .sales-month-visual {
  grid-column: 1;
  grid-row: 1;
}

.sales-panel-app .sales-live-grid > .sales-bars-visual {
  grid-column: 2;
  grid-row: 1;
}

.sales-panel-app .sales-live-left > .sales-table-visual {
  grid-column: 1 / -1;
  grid-row: 2;
}

.sales-panel-app .sales-live-left,
.sales-panel-app .sales-retail-left,
.sales-panel-app .sales-retail-right,
.sales-panel-app .sales-supplier-left,
.sales-panel-app .sales-clients-side {
  gap: 10px;
}

.sales-panel-app .sales-visual,
.sales-panel-app .sales-product-matrix {
  border: 1px solid var(--sales-line);
  border-radius: 10px;
  box-shadow: 0 2px 7px rgba(54, 43, 36, .045);
}

.sales-panel-app .sales-visual h3,
.sales-panel-app .sales-product-matrix h3 {
  min-height: 42px;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 9px 14px;
  color: #3b3632;
  font-size: 13px;
  font-weight: 820;
  text-align: left;
}

.sales-panel-app .sales-month-visual > h3 {
  position: sticky;
  top: 0;
  z-index: 8;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(8px);
}

.sales-panel-app .sales-month-visual,
.sales-panel-app .sales-retail-months,
.sales-panel-app .sales-retail-clients,
.sales-panel-app .sales-supplier-months,
.sales-panel-app .sales-supplier-clients {
  max-height: min(46vh, 440px);
}

.sales-panel-app .sales-month-line {
  grid-template-columns: minmax(82px, 1.1fr) repeat(4, minmax(70px, 1fr));
  gap: 6px;
  min-width: 0;
  min-height: 58px;
  padding: 9px 14px;
  border-bottom: 1px solid #eeeae7;
}

.sales-panel-app .sales-month-line:last-child {
  border-bottom: 0;
}

.sales-panel-app .sales-month-line > strong {
  color: #d85c29;
  font-size: 13px;
  border-left-width: 3px;
}

.sales-panel-app .sales-month-line span {
  min-height: 38px;
}

.sales-panel-app .sales-month-line b {
  font-size: 11px;
}

.sales-panel-app .sales-month-line small {
  color: #7b746f;
  font-size: 9px;
  letter-spacing: .02em;
}

.sales-panel-app .sales-bars-visual {
  align-self: start;
  height: auto;
  min-height: 0;
  padding: 8px 14px 14px;
}

.sales-panel-app .sales-bar-row {
  min-height: 24px;
  font-size: 10px;
}

.sales-panel-app .sales-bar-row b {
  height: 14px;
  border-radius: 0 3px 3px 0;
  background: #e96a34;
}

.sales-panel-app .sales-detail-button {
  position: static;
  display: block;
  min-width: 0;
  min-height: 32px;
  margin: 12px 0 0 auto;
  padding: 6px 10px;
  color: #a8461e;
  font-size: 10px;
  border: 1px solid #edc5b4;
  border-radius: 6px;
  background: #fff8f4;
}

.sales-panel-app .sales-detail-button:hover {
  color: #fff;
  border-color: #e86831;
  background: #e86831;
}

.sales-panel-app .sales-table-visual table,
.sales-panel-app .sales-product-scroll table {
  font-size: 11px;
}

.sales-panel-app .sales-table-visual th,
.sales-panel-app .sales-product-scroll thead th {
  padding: 8px 10px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  background: #3b3734;
}

.sales-panel-app .sales-table-visual td,
.sales-panel-app .sales-product-scroll td {
  padding: 7px 10px;
  font-weight: 600;
  border-bottom-color: #ebe8e5;
}

.sales-panel-app .sales-table-visual tbody tr:nth-child(even) td,
.sales-panel-app .sales-product-scroll tbody tr:nth-child(even) td {
  background: #f8f8f8;
}

.sales-panel-app .sales-mdias-compare-head h2,
.sales-panel-app .sales-representativity-head h2,
.sales-panel-app .sales-section-sales-head h2,
.sales-panel-app .sales-cheese-head h2,
.sales-panel-app .sales-sections-monthly-head h2,
.sales-panel-app .sales-sections-head h2,
.sales-panel-app .sales-store-stock-head h2,
.sales-panel-app .sales-hamburger-head h2,
.sales-panel-app .sales-cut-head h2,
.sales-panel-app .sales-top-sold-side h2 {
  font-size: clamp(1.35rem, 1.8vw, 2rem);
  font-weight: 760;
  letter-spacing: -.025em;
}

@media (max-width: 1050px) {
  .sales-panel-app .sales-live-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-panel-app .sales-live-left > .sales-month-visual,
  .sales-panel-app .sales-live-grid > .sales-bars-visual,
  .sales-panel-app .sales-live-left > .sales-table-visual {
    grid-column: 1;
    grid-row: auto;
  }

  .sales-panel-app .sales-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) {
    grid-template-columns: minmax(0, 1fr);
  }

  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-filter-rail,
  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-filter-confirm-bar,
  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-pbi-body {
    grid-column: 1;
    grid-row: auto;
  }

  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-filter-rail {
    grid-row: 1;
  }

  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-filter-confirm-bar {
    grid-row: 2;
  }

  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) > .sales-pbi-body {
    grid-row: 3;
  }
}

@media (max-width: 620px) {
  .sales-panel-app {
    padding: 10px;
  }

  .sales-panel-app .home-dashboard-hero {
    padding-bottom: 10px;
  }

  .sales-panel-app .sales-cards-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Neutral canvas shared by every authenticated screen. */
body.app-with-sidebar,
body.app-default-visual.app-with-sidebar,
body.app-sales-system.app-with-sidebar,
body.app-with-sidebar .admin-main {
  background: #f1f2f4;
}

body.app-with-sidebar .admin-main {
  min-height: 100vh;
}

body.app-with-sidebar .sales-panel-app {
  background: transparent;
}

/* Accordion navigation and nested sales pages. */
.sidebar-group {
  margin: 0 0 4px;
}

.sidebar-section-toggle {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  color: #746b65;
  border: 0;
  border-radius: 9px;
  background: transparent;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .075em;
  text-align: left;
  text-transform: uppercase;
  transition: color .18s ease, background-color .18s ease;
}

.sidebar-section-toggle > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}

.sidebar-section-toggle > span > i {
  width: 17px;
  color: #e96a34;
  font-size: 12px;
  text-align: center;
}

.sidebar-section-toggle:hover,
.sidebar-group.has-active > .sidebar-section-toggle {
  color: #b94a1d;
  background: #fff2eb;
}

.sidebar-chevron {
  flex: 0 0 auto;
  font-size: 9px;
  transition: transform .22s ease;
}

.sidebar-group.is-open > .sidebar-section-toggle .sidebar-chevron,
.sidebar-tree-item.is-open .sidebar-submenu-toggle .sidebar-chevron {
  transform: rotate(180deg);
}

.sidebar-section-panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .24s ease, opacity .18s ease;
}

.sidebar-group.is-open > .sidebar-section-panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

.sidebar-section-panel-inner {
  min-height: 0;
  overflow: hidden;
  padding: 0 2px;
}

.sidebar-group.is-open > .sidebar-section-panel > .sidebar-section-panel-inner {
  padding-top: 4px;
  padding-bottom: 5px;
}

.sidebar-parent-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: stretch;
}

.sidebar-parent-row .sidebar-link {
  min-width: 0;
}

.sidebar-submenu-toggle {
  display: grid;
  width: 30px;
  min-height: 34px;
  place-items: center;
  align-self: center;
  justify-self: end;
  color: #8e8179;
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.sidebar-submenu-toggle:hover {
  color: #d85b27;
  background: #fff1e9;
}

.sidebar-submenu-panel {
  max-height: 0;
  margin-left: 26px;
  overflow: hidden;
  opacity: 0;
  border-left: 1px solid #ead9d0;
  transition: max-height .28s ease, opacity .2s ease;
}

.sidebar-tree-item.is-open > .sidebar-submenu-panel {
  max-height: min(43vh, 430px);
  opacity: 1;
}

.sidebar-submenu-list {
  max-height: min(43vh, 430px);
  padding: 3px 4px 6px 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #e9a17e transparent;
}

.sidebar-sublink {
  display: flex;
  min-height: 31px;
  align-items: center;
  gap: 10px;
  margin: 1px 0;
  padding: 6px 8px;
  color: #625a55;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none;
  transition: color .16s ease, background-color .16s ease;
}

.sidebar-sublink > span {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #cfc5bf;
}

.sidebar-sublink:hover {
  color: #b94a1d;
  background: #fff2eb;
}

.sidebar-sublink.active {
  color: #c65020;
  font-weight: 800;
  background: #ffede4;
}

.sidebar-sublink.active > span {
  background: #ed6b35;
  box-shadow: 0 0 0 3px rgba(237, 107, 53, .14);
}

/* Sales pages now live under the main sidebar item. */
.sales-panel-app .sales-vue-shell > .sales-pages-sidebar,
.sales-panel-app > #sales-pages-sidebar {
  display: none !important;
}

.sales-panel-app,
.sales-panel-app .sales-vue-shell {
  grid-template-columns: minmax(0, 1fr) !important;
}

@media (max-width: 860px) {
  .sidebar-section-toggle {
    min-height: 44px;
    padding-inline: 12px;
  }

  .sidebar-sublink {
    min-height: 38px;
    font-size: 11px;
  }
}

/* All sales pages share the same filter strip; hide the former duplicated toolbars. */
.sales-panel-app .sales-pbi-body .sales-product-toolbar,
.sales-panel-app .sales-pbi-body .sales-rca-toolbar,
.sales-panel-app .sales-pbi-body .sales-peso-toolbar,
.sales-panel-app .sales-pbi-body .sales-mdias-compare-toolbar,
.sales-panel-app .sales-pbi-body .sales-representativity-toolbar,
.sales-panel-app .sales-pbi-body .sales-section-sales-toolbar,
.sales-panel-app .sales-pbi-body .sales-cheese-toolbar,
.sales-panel-app .sales-pbi-body .sales-sections-monthly-toolbar,
.sales-panel-app .sales-pbi-body .sales-sections-toolbar,
.sales-panel-app .sales-pbi-body .sales-store-stock-toolbar,
.sales-panel-app .sales-pbi-body .sales-hamburger-toolbar,
.sales-panel-app .sales-pbi-body .sales-cut-toolbar,
.sales-panel-app .sales-pbi-body .sales-top-sold-filters {
  display: none;
}

.sales-panel-app .sales-mdias-compare-head,
.sales-panel-app .sales-representativity-head,
.sales-panel-app .sales-section-sales-head,
.sales-panel-app .sales-cheese-head,
.sales-panel-app .sales-sections-monthly-head,
.sales-panel-app .sales-sections-head,
.sales-panel-app .sales-store-stock-head,
.sales-panel-app .sales-hamburger-head,
.sales-panel-app .sales-cut-head,
.sales-panel-app .sales-top-sold-layout {
  grid-template-columns: minmax(0, 1fr);
}

/* Global location trail */
body.app-with-sidebar {
  --app-sticky-top: 0px;
  --app-sticky-breadcrumb-space: 44px;
}

body.has-homologation-banner.app-with-sidebar {
  --app-sticky-top: 44px;
}

.app-breadcrumb {
  position: sticky;
  top: var(--app-sticky-top, 0px);
  z-index: 1020;
  min-width: 0;
  margin: 0 0 12px;
  padding: 4px 8px;
  border: 1px solid #e6e3e1;
  border-radius: 10px;
  background: #f2f3f4;
  box-shadow: 0 5px 14px rgba(56, 45, 39, .07);
}

.app-breadcrumb ol {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 34px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
  list-style: none;
}

.app-breadcrumb ol::-webkit-scrollbar {
  display: none;
}

.app-breadcrumb-item,
.app-breadcrumb-item a,
.app-breadcrumb-item > span {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.app-breadcrumb-item a,
.app-breadcrumb-item > span {
  min-height: 30px;
  gap: 7px;
  padding: 5px 9px;
  color: #736c67;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 8px;
  transition: color .18s ease, background-color .18s ease;
}

.app-breadcrumb-item a:hover,
.app-breadcrumb-item a:focus-visible {
  color: #d95220;
  background: #fff3ed;
  outline: none;
}

.app-breadcrumb-item:first-child i {
  color: #ed6b35;
  font-size: 11px;
}

.app-breadcrumb-item.is-current > span {
  color: #302b28;
  font-weight: 800;
  background: #e4e6e8;
  box-shadow: inset 0 0 0 1px #d8dbde;
}

.app-breadcrumb-item.is-current > span::before {
  width: 6px;
  height: 6px;
  content: '';
  border-radius: 50%;
  background: #ef6b35;
  box-shadow: 0 0 0 3px rgba(239, 107, 53, .12);
}

.app-breadcrumb-separator {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: #c8bfba;
  font-size: 8px;
}

@media (max-width: 620px) {
  .app-breadcrumb {
    margin: 0 10px 8px;
    padding: 4px 6px;
  }

  .app-breadcrumb-item a,
  .app-breadcrumb-item > span {
    padding-inline: 7px;
    font-size: 11px;
  }

  .app-breadcrumb-item:first-child a span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

/* Compact page header: the breadcrumb is the primary page identifier. */
body.app-with-sidebar .goals-hero {
  min-height: 0 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.app-with-sidebar .goals-hero > div:first-child:has(> h1) {
  display: none !important;
}

body.app-with-sidebar .goals-hero > :not(:first-child) {
  margin-left: auto;
}

body.app-with-sidebar .goals-hero .goals-controls {
  width: auto;
  padding: 0;
  justify-content: flex-end;
}

body.app-with-sidebar .goals-hero:has(> div:only-child > h1) {
  display: none !important;
}

@media (max-width: 760px) {
  body.app-with-sidebar .goals-hero > :not(:first-child),
  body.app-with-sidebar .goals-hero .goals-controls {
    width: 100%;
    margin-left: 0;
  }
}

/* Sidebar palette and typography: orange hierarchy on a clean white base. */
body.app-with-sidebar .sidebar {
  color: #8a4325;
  border: 1px solid #f2d4c5;
  background: #fff;
}

body.app-with-sidebar .sidebar-brand {
  min-height: 80px;
  color: #e85f27;
  border-bottom-color: #f4d8ca;
  background: #fff8f4;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.25;
}

body.app-with-sidebar .sidebar-nav {
  padding: 10px 9px;
  background: #fff;
  scrollbar-color: #f2a17d transparent;
}

body.app-with-sidebar .sidebar-group {
  margin-bottom: 5px;
}

body.app-with-sidebar .sidebar-section-toggle {
  min-height: 42px;
  padding: 9px 11px;
  color: #b84d22;
  border: 1px solid transparent;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: none;
}

body.app-with-sidebar .sidebar-section-toggle > span {
  white-space: normal;
}

body.app-with-sidebar .sidebar-section-toggle > span > i,
body.app-with-sidebar .sidebar-chevron {
  color: #ef6b35;
}

body.app-with-sidebar .sidebar-section-toggle:hover,
body.app-with-sidebar .sidebar-group.is-open > .sidebar-section-toggle {
  color: #c74c1b;
  border-color: #f8d8c8;
  background: #fff5ef;
}

body.app-with-sidebar .sidebar-group.has-active > .sidebar-section-toggle,
body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle {
  color: #c94b19;
  border-color: #f4c4ad;
  background: #ffe9de;
  box-shadow: inset 3px 0 0 #ef6b35;
}

body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle > span > i,
body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle > .sidebar-chevron {
  color: #e85f27;
}

body.app-with-sidebar .sidebar-link {
  min-height: 41px;
  padding: 9px 11px;
  color: #495057;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
}

body.app-with-sidebar .sidebar-link > i {
  color: #ef6b35;
  font-size: 14px;
}

body.app-with-sidebar .sidebar-link:hover {
  color: #c94b19;
  background: #fff3ec;
}

body.app-with-sidebar .sidebar-link.active {
  color: #fff;
  font-weight: 700;
  background: #ef6b35;
  box-shadow: 0 5px 12px rgba(224, 86, 31, .2);
}

body.app-with-sidebar .sidebar-link.active > i {
  color: #fff;
}

body.app-with-sidebar .sidebar-submenu-toggle {
  color: #df5c25;
}

body.app-with-sidebar .sidebar-submenu-toggle:hover {
  color: #bd4215;
  background: #ffe9de;
}

body.app-with-sidebar .sidebar-submenu-panel {
  border-left-color: #f2bea6;
}

body.app-with-sidebar .sidebar-sublink {
  min-height: 34px;
  padding: 7px 9px;
  color: #6c757d;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
}

body.app-with-sidebar .sidebar-sublink > span {
  background: #f3a27e;
}

body.app-with-sidebar .sidebar-sublink:hover {
  color: #c74618;
  background: #fff2eb;
}

body.app-with-sidebar .sidebar-sublink.active {
  color: #fff;
  font-weight: 700;
  background: #f4773a;
}

body.app-with-sidebar .sidebar-sublink.active > span {
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .24);
}

body.app-with-sidebar .logout-form {
  border-top-color: #f4d8ca;
  background: #fff8f4;
}

body.app-with-sidebar .logout-form .btn {
  color: #d95320;
  border-color: #ef7a47;
  background: #fff;
  font-size: 14px;
  font-weight: 650;
}

body.app-with-sidebar .logout-form .btn:hover {
  color: #fff;
  background: #ef6b35;
}

/* Sales pages are already identified by the global breadcrumb. */
body.app-with-sidebar .sales-panel-app .home-dashboard-hero {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Unified interactive tables. */
.system-table-host {
  position: relative;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #9a9693 #ecebea;
}

.system-table-toolbar {
  position: sticky;
  z-index: 8;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  min-width: min(100%, 620px);
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  color: #5f3b2c;
  border: 1px solid #e3dedb;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #fff;
}

.system-table-drag-zone {
  flex: 1 1 100%;
  order: 10;
  margin: 0;
  min-height: 40px;
}

.system-table-search,
.system-table-group {
  display: inline-flex;
  min-width: 0;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  padding: 0 9px;
  color: #dc5b25;
  border: 1px solid #e8cabb;
  border-radius: 7px;
  background: #fffaf7;
}

.system-table-search {
  width: min(260px, 32vw);
}

.system-table-group {
  width: min(250px, 30vw);
}

.system-table-search input,
.system-table-group select {
  width: 100%;
  min-width: 0;
  height: 32px;
  padding: 0;
  color: #4b3b34;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  font-size: 12px;
}

.system-table-filter-toggle,
.system-table-clear {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  color: #cb4e1d;
  border: 1px solid #efb89f;
  border-radius: 7px;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
}

.system-table-filter-toggle:hover,
.system-table-filter-toggle.is-active,
.system-table-clear:hover {
  color: #fff;
  border-color: #ef6b35;
  background: #ef6b35;
}

.system-table-filter-toggle.is-active {
  box-shadow: 0 0 0 3px rgba(239, 107, 53, .13);
}

.system-table-count {
  margin-left: auto;
  color: #756b65;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

table.system-data-table {
  width: 100% !important;
  margin: 0 !important;
  color: #322e2b;
  border: 1px solid #ddd9d6;
  border-collapse: separate !important;
  border-spacing: 0;
  table-layout: auto !important;
  background: #fff;
  font-size: 12px !important;
  line-height: 1.3;
}

table.system-data-table.system-table-wide {
  min-width: max(100%, calc(var(--system-table-columns) * 118px)) !important;
}

table.system-data-table.system-table-wide th:first-child,
table.system-data-table.system-table-wide td:first-child {
  min-width: 340px;
}

table.system-data-table thead .system-table-heading-row > th {
  position: sticky;
  z-index: 5;
  top: 0;
  padding: 10px 11px !important;
  color: #fff !important;
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, .42) !important;
  border-bottom: 1px solid #fff !important;
  background: #38332f !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.25;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
}

table.system-data-table thead .system-table-columns-row > th {
  background: #dd5c24 !important;
}

table.system-data-table thead .system-table-heading-row > th:last-child {
  border-right: 0 !important;
}

.system-table-sort-indicator {
  display: inline-block;
  min-width: 13px;
  margin-left: 6px;
  color: rgba(255, 255, 255, .75);
  font-size: 9px;
  text-align: center;
}

table.system-data-table .sort-icon {
  color: rgba(255, 255, 255, .78) !important;
  font-size: 9px !important;
  opacity: 1 !important;
}

table.system-data-table thead .system-table-filter-row > th {
  position: sticky;
  z-index: 4;
  top: 35px;
  min-width: 116px;
  padding: 6px !important;
  border: 0 !important;
  border-right: 1px solid #efd5c9 !important;
  border-bottom: 1px solid #d9d4d1 !important;
  background: #f8e9e1 !important;
}

table.system-data-table .system-table-filter-row {
  display: none;
}

table.system-data-table.system-table-filters-open .system-table-filter-row {
  display: table-row;
}

.system-table-filter-row input,
.system-dt-column-filter {
  display: block;
  width: 100%;
  min-width: 74px;
  height: 29px;
  margin-top: 5px;
  padding: 5px 8px;
  color: #4d4039;
  border: 1px solid #e0bda9;
  border-radius: 6px;
  outline: 0;
  background: #fff;
  font-size: 11px;
  font-weight: 500;
}

table.system-data-table .system-dt-column-filter {
  display: none;
}

table.system-data-table.system-table-filters-open .system-dt-column-filter {
  display: block;
}

.system-table-filter-row input {
  margin-top: 0;
}

.system-table-filter-row input:focus,
.system-dt-column-filter:focus {
  border-color: #ef6b35;
  box-shadow: 0 0 0 3px rgba(239, 107, 53, .14);
}

table.system-data-table tbody > tr > td,
table.system-data-table tbody > tr > th {
  padding: 8px 11px !important;
  color: #3d3835;
  border: 0 !important;
  border-right: 1px solid #e8e5e3 !important;
  border-bottom: 1px solid #e3e0de !important;
  background: #f9f9f9;
  vertical-align: middle;
  white-space: nowrap;
}

table.system-data-table tbody > tr:nth-child(even) > td,
table.system-data-table tbody > tr:nth-child(even) > th {
  background: #eeeeee;
}

table.system-data-table tbody > tr:hover > td,
table.system-data-table tbody > tr:hover > th {
  background: #fff0e8 !important;
}

table.system-data-table tbody > tr > :last-child {
  border-right: 0 !important;
}

table.system-data-table tfoot > tr > td,
table.system-data-table tfoot > tr > th {
  padding: 9px 11px !important;
  color: #2f2a27;
  border-top: 2px solid #ef6b35 !important;
  background: #fff !important;
  font-weight: 800;
}

.system-table-filtered-out,
.system-table-group-collapsed {
  display: none !important;
}

table.system-data-table tbody > .system-table-group-row > td {
  padding: 0 !important;
  border-top: 1px solid #ef8a5e !important;
  border-bottom: 1px solid #e8b9a3 !important;
  background: #ffe9de !important;
}

.system-table-group-toggle {
  display: flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  gap: 9px;
  padding: 7px 11px;
  color: #a53e17;
  border: 0;
  background: transparent;
  text-align: left;
}

.system-table-group-toggle i {
  font-size: 9px;
  transition: transform .18s ease;
}

.system-table-group-toggle[aria-expanded="false"] i {
  transform: rotate(-90deg);
}

.system-table-group-toggle strong {
  font-size: 12px;
}

.system-table-group-toggle span {
  margin-left: auto;
  color: #b76847;
  font-size: 10px;
  font-weight: 700;
}

.dt-container:has(> .system-table-toolbar) .dt-layout-row:first-child,
.dt-container .dt-search {
  display: none;
}

.analytics-sheet:has(.system-table-toolbar) .analytics-sheet-actions .table-search-input {
  display: none;
}

@media (max-width: 760px) {
  .system-table-toolbar {
    min-width: 560px;
  }

  .system-table-search,
  .system-table-group {
    width: 190px;
  }

  .system-table-clear span,
  .system-table-filter-toggle span,
  .system-table-count {
    display: none;
  }

  table.system-data-table {
    min-width: max-content;
  }
}

/* Sidebar item boundaries. */
body.app-with-sidebar .sidebar-group {
  position: relative;
  padding: 3px;
  border: 1px solid transparent;
  border-radius: 12px;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body.app-with-sidebar .sidebar-group + .sidebar-group {
  margin-top: 6px;
}

body.app-with-sidebar .sidebar-group.is-open {
  border-color: #f1cdbb;
  background: #fffaf7;
  box-shadow: 0 4px 12px rgba(190, 82, 35, .05);
}

body.app-with-sidebar .sidebar-group.is-standalone,
body.app-with-sidebar .sidebar-group.is-standalone.is-open {
  padding: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

body.app-with-sidebar .sidebar-group.is-standalone .sidebar-section-panel-inner {
  padding-inline: 0;
}

body.app-with-sidebar .sidebar-section-toggle {
  border-color: #f1ddd3;
  box-shadow: 0 1px 2px rgba(113, 65, 43, .03);
}

body.app-with-sidebar .sidebar-group.is-open > .sidebar-section-toggle {
  border-color: #efbda5;
}

body.app-with-sidebar .sidebar-section-panel-inner {
  padding-inline: 3px;
}

body.app-with-sidebar .sidebar-link {
  margin: 3px 0;
  border: 1px solid #f2dfd6;
  border-radius: 9px;
  box-shadow: 0 1px 2px rgba(104, 61, 42, .025);
}

body.app-with-sidebar .sidebar-link:hover {
  border-color: #efc2ad;
  box-shadow: 0 3px 8px rgba(208, 82, 27, .08);
}

body.app-with-sidebar .sidebar-link.active {
  border-color: #e85d25;
  box-shadow: 0 5px 12px rgba(224, 86, 31, .2), inset 0 0 0 1px rgba(255, 255, 255, .16);
}

body.app-with-sidebar .sidebar-tree-item.is-open {
  margin: 4px 0;
  padding: 3px;
  border: 1px solid #f0c8b5;
  border-radius: 11px;
  background: #fff;
}

body.app-with-sidebar .sidebar-tree-item.is-open .sidebar-parent-row .sidebar-link {
  margin: 0;
  gap: 8px;
  padding-inline: 8px;
}

body.app-with-sidebar .sidebar-tree-item .sidebar-parent-row {
  grid-template-columns: minmax(0, 1fr) 27px;
}

body.app-with-sidebar .sidebar-tree-item.is-open > .sidebar-submenu-panel {
  margin: 4px 0 0 26px;
  border: 1px solid #f2d2c2;
  border-radius: 9px;
  background: #fffaf7;
}

body.app-with-sidebar .sidebar-sublink {
  margin: 2px 0;
  border: 1px solid transparent;
  border-bottom-color: #f3e2da;
  border-radius: 7px;
}

body.app-with-sidebar .sidebar-sublink:hover {
  border-color: #efc9b7;
}

body.app-with-sidebar .sidebar-sublink.active {
  border-color: #e85d25;
  box-shadow: 0 3px 8px rgba(224, 86, 31, .14);
}

body.app-with-sidebar .sidebar-sublink:last-child {
  border-bottom-color: transparent;
}

/* Gerbera palette using only colors present in the flower. */
body.app-with-sidebar .sidebar {
  --sidebar-gerbera-slate: #fff;
  --sidebar-gerbera-deep: #fff;
  --sidebar-gerbera-orange: #ff4b0a;
  --sidebar-gerbera-orange-light: #ff7133;
  --sidebar-gerbera-gold: #ffb20d;
  --sidebar-gerbera-cream: #8d3514;
  color: var(--sidebar-gerbera-cream);
  border-color: #ff7a36;
  background: #fff;
  box-shadow: 0 16px 36px rgba(190, 91, 30, .14);
}

body.app-with-sidebar .sidebar-brand {
  color: #d9470d;
  border-bottom-color: rgba(255, 178, 13, .42);
  background: #fff;
}

body.app-with-sidebar .sidebar-brand img {
  display: block !important;
  width: 54px;
  height: 58px;
  flex: 0 0 auto;
  object-fit: contain;
}

body.app-with-sidebar .sidebar-nav {
  background: transparent;
  scrollbar-color: var(--sidebar-gerbera-orange-light) rgba(255, 255, 255, .08);
}

body.app-with-sidebar .sidebar-group.is-open {
  border-color: rgba(255, 178, 13, .6);
  background: #fff;
  box-shadow: 0 5px 14px rgba(198, 91, 25, .1);
}

body.app-with-sidebar .sidebar-section-toggle {
  color: #a13d16;
  border-color: rgba(255, 137, 55, .35);
  background: #fff;
  box-shadow: none;
}

body.app-with-sidebar .sidebar-section-toggle > span > i,
body.app-with-sidebar .sidebar-chevron {
  color: var(--sidebar-gerbera-gold);
}

body.app-with-sidebar .sidebar-section-toggle:hover,
body.app-with-sidebar .sidebar-group.is-open > .sidebar-section-toggle {
  color: #a63510;
  border-color: rgba(255, 178, 13, .72);
  background: #fff0c5;
}

body.app-with-sidebar .sidebar-group.has-active > .sidebar-section-toggle,
body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle {
  color: #35231b;
  border-color: var(--sidebar-gerbera-gold);
  background: linear-gradient(100deg, #ffc12a, var(--sidebar-gerbera-gold));
  box-shadow: 0 5px 12px rgba(34, 38, 29, .2);
}

body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle > span > i,
body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle > .sidebar-chevron {
  color: #4b2919;
}

body.app-with-sidebar .sidebar-link {
  color: #495057;
  border-color: rgba(255, 130, 50, .28);
  background: rgba(255, 255, 255, .7);
  box-shadow: none;
}

body.app-with-sidebar .sidebar-link > i {
  color: var(--sidebar-gerbera-gold);
}

body.app-with-sidebar .sidebar-link:hover {
  color: #b43c0e;
  border-color: var(--sidebar-gerbera-orange-light);
  background: #ffe0bb;
  box-shadow: 0 4px 10px rgba(204, 74, 17, .12);
}

body.app-with-sidebar .sidebar-link.active {
  color: #fff;
  border-color: #ff8a43;
  background: linear-gradient(100deg, var(--sidebar-gerbera-orange), #ff681e);
  box-shadow: 0 6px 14px rgba(40, 27, 25, .28), inset 0 0 0 1px rgba(255, 190, 126, .28);
}

body.app-with-sidebar .sidebar-link.active > i {
  color: #fff6d8;
}

body.app-with-sidebar .sidebar-tree-item.is-open {
  border-color: rgba(255, 178, 13, .48);
  background: #fff;
}

body.app-with-sidebar .sidebar-submenu-toggle {
  color: var(--sidebar-gerbera-gold);
}

body.app-with-sidebar .sidebar-submenu-toggle:hover {
  color: #3b271d;
  background: var(--sidebar-gerbera-gold);
}

body.app-with-sidebar .sidebar-tree-item.is-open > .sidebar-submenu-panel {
  border-color: rgba(255, 178, 13, .38);
  background: #fff;
}

body.app-with-sidebar .sidebar-sublink {
  color: #6c757d;
  border-bottom-color: rgba(238, 114, 38, .2);
}

body.app-with-sidebar .sidebar-sublink > span {
  background: var(--sidebar-gerbera-gold);
}

body.app-with-sidebar .sidebar-sublink:hover {
  color: #b83d0e;
  border-color: rgba(255, 178, 13, .58);
  background: #ffe8bd;
}

body.app-with-sidebar .sidebar-sublink.active {
  color: #fff;
  border-color: #ff8c47;
  background: var(--sidebar-gerbera-orange-light);
  box-shadow: 0 4px 10px rgba(26, 34, 34, .25);
}

body.app-with-sidebar .sidebar-sublink.active > span {
  background: #fff4c8;
}

body.app-with-sidebar .logout-form {
  border-top-color: rgba(255, 178, 13, .42);
  background: #fff;
}

body.app-with-sidebar .logout-form .btn {
  color: #c84312;
  border-color: var(--sidebar-gerbera-orange-light);
  background: #fffaf0;
}

body.app-with-sidebar .logout-form .btn:hover {
  color: #fff;
  border-color: var(--sidebar-gerbera-orange);
  background: var(--sidebar-gerbera-orange);
}

/* One consistent corner radius throughout the sidebar. */
body.app-with-sidebar .sidebar,
body.app-with-sidebar .sidebar-brand,
body.app-with-sidebar .sidebar-group,
body.app-with-sidebar .sidebar-section-toggle,
body.app-with-sidebar .sidebar-link,
body.app-with-sidebar .sidebar-tree-item,
body.app-with-sidebar .sidebar-submenu-toggle,
body.app-with-sidebar .sidebar-submenu-panel,
body.app-with-sidebar .sidebar-sublink,
body.app-with-sidebar .logout-form,
body.app-with-sidebar .logout-form .btn {
  border-radius: 8px !important;
}

/* Fluid application sizing: use the available viewport before adding page scroll. */
body.app-with-sidebar {
  --app-gap: clamp(7px, .6vw, 12px);
  --app-gutter: clamp(9px, .9vw, 18px);
  --sidebar-width: clamp(220px, 14vw, 260px);
}

body.app-with-sidebar.admin-shell {
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

body.app-with-sidebar .admin-main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: var(--app-gutter);
  overflow-x: clip;
}

body.app-with-sidebar .app-breadcrumb {
  margin-bottom: var(--app-gap);
}

body.app-with-sidebar :where(.dashboard-app, .branch-expenses-app, .sales-panel-app, .stock-comparison-app) {
  width: 100%;
  max-width: none;
  min-width: 0;
}

body.app-with-sidebar :where(.dashboard-app, .admin-grid, .stats-grid, .goal-grid, .sales-vue-shell, .sales-pbi-page) {
  gap: var(--app-gap);
}

body.app-with-sidebar :where(.analytics-sheet, .admin-panel, .sales-visual, .indicator-card, .goal-kpi) {
  max-width: 100%;
  min-width: 0;
}

body.app-with-sidebar :where(img, canvas, svg, .highcharts-container) {
  max-width: 100%;
}

body.app-with-sidebar :where(.goals-controls, .analytics-toolbar, .analytics-sheet-actions, .dashboard-controls, .inventory-adjustments-tools) {
  flex-wrap: wrap;
}

body.app-with-sidebar :where(.table-responsive, .analytics-table-wrap, .expense-month-table-wrap, .system-table-host, [class*="-table-wrap"], [class*="-scroll"]) {
  max-width: 100%;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

/* Sales dashboard uses one content gutter instead of stacking page paddings. */
body.app-with-sidebar .sales-panel-app {
  gap: var(--app-gap);
  padding: 0 0 var(--app-gutter);
}

.sales-panel-app .sales-report-tabs {
  gap: clamp(2px, .25vw, 5px);
  padding-bottom: var(--app-gap);
}

.sales-panel-app .sales-report-tab,
.sales-panel-app .sales-report-tab.completed {
  min-height: clamp(32px, 3.4vh, 38px);
  padding: 6px clamp(8px, .65vw, 12px);
}

.sales-panel-app .sales-cards-row {
  gap: var(--app-gap);
}

.sales-panel-app .indicator-card {
  min-height: clamp(72px, 8.5vh, 88px);
  padding: clamp(9px, .65vw, 13px) clamp(10px, .85vw, 16px);
}

.sales-panel-app .sales-filter-rail,
.sales-panel-app .sales-filter-confirm-bar {
  min-height: clamp(50px, 6.2vh, 58px);
}

.sales-panel-app .sales-live-grid,
.sales-panel-app .sales-clients-grid,
.sales-panel-app .sales-retail-grid,
.sales-panel-app .sales-supplier-grid {
  gap: var(--app-gap);
}

.sales-panel-app .sales-month-visual,
.sales-panel-app .sales-retail-months,
.sales-panel-app .sales-retail-clients,
.sales-panel-app .sales-supplier-months,
.sales-panel-app .sales-supplier-clients {
  max-height: clamp(430px, 54dvh, 520px);
  overflow: auto;
}

.sales-panel-app .sales-month-line {
  min-height: clamp(48px, 5.8vh, 58px);
  padding: clamp(7px, .75vh, 9px) clamp(9px, .75vw, 14px);
}

@media (min-width: 861px) {
  body.app-with-sidebar .sidebar {
    top: var(--app-gap);
    height: calc(100dvh - (var(--app-gap) * 2));
    margin: var(--app-gap);
  }

  body.has-homologation-banner.app-with-sidebar .sidebar {
    top: calc(44px + var(--app-gap));
    height: calc(100dvh - 44px - (var(--app-gap) * 2));
  }

  body.app-with-sidebar .sidebar-brand {
    min-height: clamp(62px, 8vh, 80px);
    height: auto;
    padding-inline: clamp(10px, .8vw, 14px);
  }

  body.app-with-sidebar .sidebar-nav {
    padding: clamp(6px, .55vw, 9px);
  }

  body.app-with-sidebar .sidebar-section-toggle,
  body.app-with-sidebar .sidebar-link {
    min-height: clamp(36px, 4.5vh, 42px);
    padding-block: clamp(6px, .65vh, 9px);
  }

  body.app-with-sidebar .sidebar-sublink {
    min-height: clamp(30px, 3.7vh, 34px);
    padding-block: clamp(5px, .55vh, 7px);
  }

  body.app-with-sidebar .logout-form {
    padding: clamp(7px, .65vw, 10px) !important;
  }
}

@media (min-width: 861px) and (max-height: 760px) {
  body.app-with-sidebar .sidebar-brand img {
    width: 44px;
    height: 46px;
  }

  body.app-with-sidebar .sidebar-brand {
    min-height: 56px;
    font-size: 15px;
  }

  body.app-with-sidebar .sidebar-group + .sidebar-group,
  body.app-with-sidebar .sidebar-group {
    margin-top: 2px;
    margin-bottom: 2px;
  }

  .sales-panel-app .indicator-card h2 {
    margin-bottom: 4px;
  }
}

@media (max-width: 860px) {
  body.app-with-sidebar {
    --app-gap: clamp(6px, 2vw, 10px);
    --app-gutter: clamp(8px, 2.8vw, 12px);
  }

  body.app-with-sidebar.admin-shell {
    display: block;
  }

  body.app-with-sidebar .admin-main {
    width: 100% !important;
    padding: calc(54px + env(safe-area-inset-top)) var(--app-gutter) var(--app-gutter) !important;
  }

  body.has-homologation-banner.app-with-sidebar .admin-main {
    padding-top: calc(98px + env(safe-area-inset-top)) !important;
  }

  body.app-with-sidebar .app-breadcrumb {
    margin: 0 0 var(--app-gap);
    padding-left: 56px;
  }

  body.app-with-sidebar .sidebar {
    width: min(88vw, 320px) !important;
    max-width: 100%;
    border-radius: 0 8px 8px 0 !important;
  }

  body.app-with-sidebar .sidebar-brand {
    min-height: 68px;
    height: 68px;
    padding: 4px 12px 4px 64px !important;
  }

  body.app-with-sidebar .sidebar-brand img {
    width: 48px;
    height: 52px;
  }

  body.app-with-sidebar .sidebar-link,
  body.app-with-sidebar .sidebar-section-toggle {
    min-height: 42px;
  }

  body.app-with-sidebar .dashboard-app:not(.sales-panel-app),
  body.app-with-sidebar .sales-panel-app {
    min-height: 0 !important;
    padding: 0 !important;
  }

  .sales-panel-app .sales-vue-shell {
    margin-top: 0 !important;
  }

  .sales-panel-app .sales-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sales-panel-app .indicator-card {
    min-height: 86px !important;
    padding: 9px !important;
  }

  .sales-panel-app .indicator-card-value {
    font-size: clamp(1rem, 5.6vw, 1.45rem) !important;
  }

  .sales-panel-app .sales-pbi-page:has(> .sales-filter-rail) {
    display: flex !important;
    flex-direction: column;
  }

  .sales-panel-app .sales-filter-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sales-panel-app .sales-filter-confirm-bar {
    min-height: 0;
    align-items: stretch;
    flex-direction: column;
  }

  .sales-panel-app .sales-filter-confirm-bar button {
    width: 100%;
  }

  .sales-panel-app .sales-month-visual,
  .sales-panel-app .sales-retail-months,
  .sales-panel-app .sales-retail-clients,
  .sales-panel-app .sales-supplier-months,
  .sales-panel-app .sales-supplier-clients {
    max-height: none;
  }

  .sales-panel-app .sales-month-line {
    grid-template-columns: minmax(74px, 1fr) repeat(2, minmax(82px, 1fr));
    min-height: 0;
    gap: 6px;
  }

  .sales-panel-app .sales-month-line span:nth-of-type(n + 3) {
    grid-column: auto;
  }

  .system-table-toolbar {
    position: sticky;
    left: 0;
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 6px;
    padding: 7px;
  }

  .system-table-search,
  .system-table-group {
    width: 100%;
    min-width: 0;
  }

  .system-table-search {
    grid-column: 1 / -1;
  }

  .system-table-group {
    grid-column: 1;
  }

  .system-table-count {
    display: none;
  }

  table.system-data-table {
    width: max-content !important;
    min-width: 100% !important;
    font-size: clamp(10px, 3vw, 12px) !important;
  }

  table.system-data-table thead .system-table-heading-row > th,
  table.system-data-table tbody > tr > td,
  table.system-data-table tbody > tr > th,
  table.system-data-table tfoot > tr > td,
  table.system-data-table tfoot > tr > th {
    padding: 7px 8px !important;
  }

  .stats-chart,
  .chart-box {
    height: clamp(250px, 44dvh, 340px) !important;
    min-height: 250px !important;
  }
}

@media (max-width: 520px) {
  body.app-with-sidebar .admin-main {
    padding-inline: 7px !important;
  }

  .app-breadcrumb-item a,
  .app-breadcrumb-item > span {
    min-height: 28px;
    padding: 4px 6px;
    font-size: 10px;
  }

  .sales-panel-app .sales-filter-rail,
  .sales-panel-app .sales-product-toolbar,
  .sales-panel-app .sales-rentability-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sales-panel-app .sales-month-line {
    grid-template-columns: minmax(68px, .8fr) minmax(110px, 1.2fr);
    padding: 8px;
  }

  .sales-panel-app .sales-month-line span {
    min-height: 32px;
  }

  .branch-expense-kpis,
  .goal-kpis,
  .expense-statistics-app .branch-expense-kpis {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .system-table-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .system-table-group {
    grid-column: 1 / -1;
  }

  .system-table-clear span,
  .system-table-filter-toggle span {
    display: none;
  }
}

/* The outlined Natan mark needs a warm solid field to remain legible. */
body.app-with-sidebar .sidebar-brand {
  justify-content: center;
  min-height: clamp(128px, 17vh, 152px);
  padding-inline: 10px !important;
  border-bottom-color: #dd5b25;
  background: linear-gradient(135deg, #f68a4f 0%, #ef6b35 100%);
}

body.app-with-sidebar .sidebar-brand img {
  width: clamp(128px, 10vw, 152px);
  height: clamp(128px, 15vh, 148px);
  filter: drop-shadow(0 2px 2px rgba(144, 53, 17, .2));
}

@media (max-width: 860px) {
  body.app-with-sidebar .sidebar-brand {
    min-height: 132px;
    height: 132px;
    padding: 4px 12px !important;
  }

  body.app-with-sidebar .sidebar-brand img {
    width: 120px;
    height: 120px;
  }
}

/* Unified orange scrollbars for the page and every internal scroll area. */
html,
body,
body.app-with-sidebar *,
body.app-with-sidebar *::before,
body.app-with-sidebar *::after {
  scrollbar-width: thin;
  scrollbar-color: #f4773a #ffe5d6 !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
body.app-with-sidebar *::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
body.app-with-sidebar *::-webkit-scrollbar-track {
  background: #ffe5d6 !important;
  border-radius: 8px;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
body.app-with-sidebar *::-webkit-scrollbar-thumb {
  min-width: 28px;
  min-height: 28px;
  border: 2px solid #ffe5d6;
  border-radius: 8px;
  background: #f4773a !important;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
body.app-with-sidebar *::-webkit-scrollbar-thumb:hover {
  background: #e95f25 !important;
}

html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner,
body.app-with-sidebar *::-webkit-scrollbar-corner {
  background: #ffe5d6 !important;
}

/* Guide the eye while a master/detail selection opens the next level. */
.analytics-sheet.is-flow-target {
  animation: branch-flow-focus 1.25s ease-out;
}

@keyframes branch-flow-focus {
  0% {
    border-color: #f4773a;
    box-shadow: 0 0 0 4px rgba(244, 119, 58, .2);
  }
  100% {
    border-color: var(--bs-border-color);
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  .analytics-sheet.is-flow-target {
    animation: none;
  }
}

/* Natan motion language: short, restrained and information-first. */
:root {
  --motion-fast: 180ms;
  --motion-normal: 280ms;
  --motion-slow: 420ms;
  --motion-ease: cubic-bezier(.22, .72, .24, 1);
}

html.motion-enabled .app-breadcrumb {
  animation: natan-fade-down var(--motion-normal) var(--motion-ease) both;
}

html.motion-enabled .admin-main > main {
  animation: natan-page-enter var(--motion-slow) var(--motion-ease) 40ms both;
}

.motion-card-enter {
  animation: natan-card-enter var(--motion-normal) var(--motion-ease) var(--motion-delay, 0ms) both;
}

.motion-panel-refresh {
  animation: natan-panel-refresh 380ms var(--motion-ease) both;
}

.expense-workbook-panel.workbook-screen-fade-out {
  opacity: 0;
  pointer-events: none;
  transition: opacity 190ms ease-out;
}

html.workbook-transition-lock,
html.workbook-transition-lock body {
  overflow-anchor: none !important;
  scroll-behavior: auto !important;
}

.expense-workbook-panel.workbook-screen-fade-in {
  animation: workbook-panel-fade-in 460ms ease-out both;
}

.expense-workbook-tab,
.sidebar-link,
.sidebar-sublink,
.system-table-filter-toggle,
.system-table-clear,
.sales-detail-button,
.btn {
  transition-duration: var(--motion-fast);
  transition-timing-function: var(--motion-ease);
}

@keyframes natan-page-enter {
  from {
    opacity: 0;
    transform: translate3d(0, 8px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes natan-fade-down {
  from {
    opacity: 0;
    transform: translate3d(0, -6px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes natan-card-enter {
  from {
    opacity: 0;
    transform: translate3d(0, 7px, 0) scale(.992);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes natan-panel-refresh {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes workbook-panel-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html.motion-enabled .app-breadcrumb,
  html.motion-enabled .admin-main > main,
  .motion-card-enter,
  .motion-panel-refresh,
  .expense-workbook-panel.workbook-screen-fade-in {
    animation: none !important;
  }

  .expense-workbook-panel.workbook-screen-fade-out {
    transition: none !important;
  }
}

/* Expense drill-down: completed levels become a compact visual path. */
#branch-expenses-content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: start;
}

#branch-expenses-content > .analytics-sheet {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 !important;
}

#branch-expenses-content > .analytics-sheet:not(.is-collapsed) {
  border-color: #dfd8d4;
  box-shadow: 0 8px 22px rgba(66, 49, 40, .06);
}

#branch-expenses-content > .analytics-sheet.is-collapsed {
  flex: 1 1 220px;
  width: auto;
  min-width: 0;
  border-color: #f0c5b1;
  border-top: 3px solid #f4773a;
  background: #fff;
  box-shadow: 0 5px 15px rgba(147, 67, 31, .07);
}

#branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-title {
  display: grid;
  min-height: 82px;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-content: center;
  gap: 9px;
  padding: 11px 12px;
  border: 0;
  background: linear-gradient(145deg, #fff 0%, #fff8f4 100%);
}

#branch-expenses-content > .analytics-sheet.is-collapsed .analytics-step {
  width: 32px;
  height: 32px;
  align-self: center;
  color: #dd5b24;
  background: #ffe8dc;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-heading {
  align-self: center;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-heading strong {
  color: #493e38;
  font-size: 12px;
  letter-spacing: .025em;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-heading small {
  display: -webkit-box;
  overflow: hidden;
  color: #e25f28;
  font-size: 11px;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-actions {
  align-self: center;
  gap: 0;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .table-search-input,
#branch-expenses-content > .analytics-sheet.is-collapsed .export-csv-btn {
  display: none !important;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .sheet-toggle-btn {
  width: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  overflow: hidden;
  color: #d95822;
  font-size: 0;
  border: 1px solid #f1c1aa;
  border-radius: 8px;
  background: #fff;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .sheet-toggle-btn i {
  margin: 0;
  font-size: 12px;
}

#branch-expenses-content > .analytics-sheet.is-collapsed .sheet-toggle-btn:hover {
  color: #fff;
  border-color: #f4773a;
  background: #f4773a;
}

/* Keep complete financial values readable beside the compact drill-down path. */
.branch-expenses-app #branch-expenses-kpis .goal-kpi strong {
  font-size: clamp(.94rem, 1.22vw, 1.28rem);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .branch-expenses-app #branch-expenses-kpis .goal-kpi {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: .55rem;
    padding-inline: .72rem;
  }

  .branch-expenses-app #branch-expenses-kpis .goal-kpi .goal-kpi-icon {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 1199px) {
  #branch-expenses-content > .analytics-sheet.is-collapsed {
    flex-basis: calc(50% - 5px);
  }
}

@media (max-width: 520px) {
  #branch-expenses-content {
    gap: 7px;
  }

  #branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-title {
    min-height: 76px;
    grid-template-columns: 27px minmax(0, 1fr) 30px;
    gap: 6px;
    padding: 8px;
  }

  #branch-expenses-content > .analytics-sheet.is-collapsed .analytics-step {
    width: 27px;
    height: 27px;
  }

  #branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-heading strong {
    font-size: 10px;
  }

  #branch-expenses-content > .analytics-sheet.is-collapsed .analytics-sheet-heading small {
    font-size: 9px;
  }

  #branch-expenses-content > .analytics-sheet.is-collapsed .sheet-toggle-btn {
    width: 30px;
    min-width: 30px;
    min-height: 30px;
  }
}

@media (max-width: 350px) {
  #branch-expenses-content > .analytics-sheet.is-collapsed {
    flex-basis: 100%;
  }
}

@media (max-width: 860px) {
  html,
  body.app-with-sidebar {
    overflow-x: clip;
    overflow-y: visible;
  }

  body.app-with-sidebar.mobile-menu-open {
    overflow: hidden;
  }
}

/* Launch detail: always stays above the backdrop and keeps both exits visible. */
#lancDetailModal {
  z-index: 2110;
}

body:has(#lancDetailModal.show) .modal-backdrop {
  z-index: 2100;
}

#lancDetailModal .modal-content {
  overflow: hidden;
  border: 1px solid #ead5ca;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(45, 31, 24, .24);
}

#lancDetailModal .modal-header,
#lancDetailModal .modal-footer {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  background: #fff;
}

#lancDetailModal .modal-header {
  border-bottom-color: #f0ddd3;
}

#lancDetailModal .modal-footer {
  border-top-color: #f0ddd3;
}

#lancDetailModal .btn-close {
  opacity: 1;
}

#lancDetailModal .modal-body {
  min-height: 0;
  overflow: auto;
  background: #fff;
}
/* Previa Oracle das despesas ainda nao fechadas pela Lani. */
.current-month-expense-notice {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1rem;
  padding: .8rem 1rem;
  border: 1px solid #ffd0b8;
  border-left: 4px solid #f36a2e;
  border-radius: 8px;
  background: #fff;
  color: #4a342a;
}
.current-month-expense-notice > i { color: #f36a2e; font-size: 1.15rem; }
.current-month-expense-notice div { display: grid; gap: .15rem; }
.current-month-expense-notice span { color: #77665e; font-size: .88rem; }
@media (max-width: 640px) {
  .current-month-expense-notice { align-items: flex-start; }
}

/* Despesas direto do WinThor, ainda nao confirmadas pela planilha */
.evolution-pending-col {
  background: rgba(243, 106, 46, .1) !important;
  color: #b9490f;
}
.evolution-pending-col .fa-triangle-exclamation,
.evolution-pending-legend .fa-triangle-exclamation {
  color: #f36a2e;
}
.evolution-pending-legend {
  display: flex;
  align-items: center;
  gap: .4rem;
}
.dre-pending-banner {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .75rem;
  padding: .55rem .8rem;
  border-left: 4px solid #f36a2e;
  border-radius: 8px;
  background: #fff4ee;
  color: #b9490f;
  font-size: .85rem;
  font-weight: 600;
}
.dre-pending-banner i { color: #f36a2e; font-size: 1.05rem; }

/* Linhas de relatorio sinalizadas (ex: fornecedor que estamos financiando) */
#report-table tr.report-row-alert > td {
  background: rgba(220, 53, 69, .1) !important;
  color: #a8202f;
}

/* Login direto: o formulário permanece no centro e acima da dobra. */
.natam-login-layout {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  min-height: clamp(560px, calc(100vh - 118px), 820px);
  padding: clamp(1.5rem, 5vw, 4rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.24), transparent 24%),
    radial-gradient(circle at 84% 86%, rgba(156,55,12,.18), transparent 28%),
    linear-gradient(135deg, #ff925e 0%, #f4773a 52%, #e35e21 100%);
}

.natam-login-layout::before,
.natam-login-layout::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
}

.natam-login-layout::before { top: -250px; right: -100px; }
.natam-login-layout::after { bottom: -300px; left: -130px; width: 560px; height: 560px; }

.natam-login-access {
  z-index: 1;
  width: 100%;
  display: grid;
  place-items: center;
  padding: 0;
  background: transparent;
}

.natam-access-card {
  width: min(480px, 100%);
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(106,39,10,.28);
}

.natam-access-logo {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin: -2px auto .7rem;
  color: #fff;
  border-radius: 16px;
  background: linear-gradient(135deg, #fb8b54, #e65f24);
  box-shadow: 0 10px 24px rgba(223,93,32,.24);
  font-size: 1.4rem;
}

.natam-access-heading { text-align: center; }
.natam-access-heading h2 { font-size: clamp(1.55rem, 2.1vw, 1.9rem); }
.natam-access-heading p { margin: .4rem 0 1rem; }
.natam-access-card .natam-field { margin-bottom: .8rem; }
.natam-access-card .natam-login-submit { min-height: 48px; }
.natam-access-card .natam-access-support { margin-top: .8rem; }

/* Impersonação real e reversível para a conta da Lani. */
.sidebar-view-as {
  flex: 0 0 auto;
  margin: .65rem .65rem .15rem;
  padding: .75rem;
  border: 1px solid #ffd2bd;
  border-radius: 10px;
  background: #fff6f1;
}

.sidebar-view-as label {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .45rem;
  color: #a73f15;
  font-size: .76rem;
  font-weight: 800;
}

.sidebar-view-as .form-select {
  border-color: #efb79d;
  background-color: #fff;
  color: #49352c;
  font-size: .76rem;
}

.sidebar-view-as small {
  display: block;
  margin-top: .45rem;
  color: #846b60;
  font-size: .63rem;
  line-height: 1.35;
}

.impersonation-banner {
  position: fixed;
  z-index: 1085;
  top: 0;
  right: 0;
  left: var(--sidebar-width);
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: .45rem 1rem;
  color: #fff;
  background: linear-gradient(90deg, #9b3a14, #e55e25);
  box-shadow: 0 5px 18px rgba(99,35,11,.22);
  font-size: .84rem;
}

.impersonation-banner .btn { color: #9b3a14; font-weight: 750; }
body.is-impersonating.app-with-sidebar .admin-main { padding-top: 64px !important; }

/* Login corporativo: página única, sem navegação ou conteúdo promocional. */
.company-login-page {
  --company-orange: #ee6b2f;
  --company-orange-dark: #cf4f19;
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 0, rgba(238, 107, 47, .1), transparent 38%),
    #f4f5f6;
  color: #25282b;
  font-family: "Segoe UI", Arial, sans-serif;
}

.company-login-card {
  width: min(420px, 100%);
  padding: 38px 40px 30px;
  border: 1px solid #e2e3e5;
  border-top: 4px solid var(--company-orange);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(25, 30, 35, .12);
}

.company-login-brand {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-bottom: 28px;
  text-align: center;
}

.company-login-brand img {
  display: block;
  width: 150px;
  height: 104px;
  object-fit: contain;
}

.company-login-brand span {
  color: #73777b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.company-login-heading {
  margin-bottom: 24px;
  text-align: center;
}

.company-login-heading h1 {
  margin: 0;
  color: #25282b;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -.02em;
}

.company-login-heading p {
  margin: 7px 0 0;
  color: #72767a;
  font-size: 14px;
}

.company-login-field { margin-bottom: 17px; }

.company-login-field label {
  display: block;
  margin: 0 0 7px;
  color: #383b3e;
  font-size: 13px;
  font-weight: 650;
}

.company-login-field input {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #cfd2d5;
  border-radius: 6px;
  outline: none;
  background: #fff;
  color: #25282b;
  font: inherit;
  font-size: 15px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.company-login-field input::placeholder { color: #a0a4a8; }

.company-login-field input:focus {
  border-color: var(--company-orange);
  box-shadow: 0 0 0 3px rgba(238, 107, 47, .13);
}

.company-password-field { position: relative; }
.company-password-field input { padding-right: 48px; }

.company-password-toggle {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 0 5px 5px 0;
  background: transparent;
  color: #707579;
  cursor: pointer;
}

.company-password-toggle:hover,
.company-password-toggle:focus { color: var(--company-orange-dark); }

.company-login-submit {
  width: 100%;
  height: 49px;
  margin-top: 5px;
  border: 0;
  border-radius: 6px;
  background: var(--company-orange);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}

.company-login-submit:hover,
.company-login-submit:focus { background: var(--company-orange-dark); }
.company-login-submit:active { transform: translateY(1px); }
.company-login-submit:disabled { cursor: wait; opacity: .82; }
.company-login-submit-loading { display: none; }
.company-login-submit.is-loading .company-login-submit-label { display: none; }
.company-login-submit.is-loading .company-login-submit-loading { display: inline; }

.company-login-security {
  margin: 22px 0 0;
  color: #85898d;
  font-size: 11px;
  text-align: center;
}

.company-login-security i {
  margin-right: 5px;
  color: var(--company-orange);
}

@media (max-width: 520px) {
  .company-login-page { padding: 16px; }
  .company-login-card { padding: 30px 24px 25px; }
  .company-login-brand { margin-bottom: 23px; }
  .company-login-brand img { width: 132px; height: 88px; }
}

@media (max-width: 860px) {
  .natam-login-layout { min-height: calc(100vh - 108px); padding: 1.25rem; }
  .natam-access-card { border-radius: 14px; }
  .impersonation-banner { left: 0; justify-content: space-between; font-size: .72rem; }
  .impersonation-banner span { max-width: calc(100% - 130px); }
  .impersonation-banner .btn { white-space: nowrap; font-size: .68rem; }
  body.is-impersonating.app-with-sidebar .admin-main { padding-top: 106px !important; }
}

.sales-row-detail-backdrop {
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(37, 25, 19, .58);
  backdrop-filter: blur(5px);
}

.sales-row-detail-modal {
  width: min(780px, 100%);
  max-height: calc(100dvh - 48px);
  overflow: auto;
  border: 1px solid rgba(238, 111, 53, .28);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(45, 26, 17, .3);
}

.sales-row-detail-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 14px;
  padding: 20px 22px;
  color: #3d2b23;
  border-bottom: 1px solid #f0e2da;
  background: linear-gradient(125deg, #fff 0%, #fff8f3 70%, #ffede2 100%);
}

.sales-row-detail-icon { display: grid; place-items: center; width: 48px; height: 48px; color: #fff; border-radius: 14px; background: linear-gradient(145deg, #f58347, #df5724); box-shadow: 0 8px 20px rgba(221, 82, 31, .24); }
.sales-row-detail-head small { color: #d45928; font-size: .67rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.sales-row-detail-head h2 { margin: 2px 0; font-size: 1.28rem; }
.sales-row-detail-head p { margin: 0; color: #806e65; font-size: .78rem; }
.sales-row-detail-head > button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: #745f55; border: 1px solid #e7d8d0; border-radius: 11px; background: #fff; }
.sales-row-detail-body { padding: 20px 22px; }
.sales-row-detail-scope { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 11px 13px; color: #713619; border: 1px solid #f0c9b5; border-radius: 12px; background: #fff8f3; }
.sales-row-detail-scope > i { color: #e6662e; }
.sales-row-detail-scope span { display: grid; }
.sales-row-detail-scope small { color: #9b6a53; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.sales-row-detail-scope strong { font-size: .78rem; }
.sales-row-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.sales-row-detail-grid article { min-width: 0; padding: 13px 14px; border: 1px solid #ede4df; border-radius: 12px; background: #fbfaf9; }
.sales-row-detail-grid article.featured { border-color: #efc0a9; background: linear-gradient(145deg, #fff, #fff3ec); }
.sales-row-detail-grid small { display: block; margin-bottom: 4px; color: #88766d; font-size: .65rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.sales-row-detail-grid strong { display: block; overflow-wrap: anywhere; color: #332923; font-size: .92rem; }
.sales-row-detail-grid article.featured strong { color: #d8521f; font-size: 1.08rem; }
.sales-row-detail-note { display: flex; align-items: flex-start; gap: 8px; margin: 15px 0 0; padding: 10px 12px; color: #76665e; border-radius: 10px; background: #f6f3f1; font-size: .73rem; }
.sales-row-detail-note i { margin-top: 2px; color: #e26934; }
.sales-row-detail-foot { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 22px 18px; border-top: 1px solid #f0e6e0; }
.sales-row-detail-foot button { min-height: 38px; padding: 0 15px; font-size: .76rem; font-weight: 800; border-radius: 10px; }
.sales-row-detail-foot .secondary { color: #66564e; border: 1px solid #ddd0c9; background: #fff; }
.sales-row-detail-foot .primary { color: #fff; border: 1px solid #db5723; background: linear-gradient(135deg, #f47b3f, #df5623); }
.sales-panel-app .sales-table-visual .sales-table-row.level-0 > td,
.sales-panel-app .sales-table-visual .sales-table-row.level-0:nth-child(even) > td {
  color: #4a281a;
  background: #fff0e7;
  border-bottom-color: #f1c9b5;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}

.sales-panel-app .sales-table-visual .sales-table-row.level-0 > td:first-child {
  box-shadow: inset 4px 0 0 #df5c24, inset 0 1px 0 rgba(255, 255, 255, .7);
}

.sales-panel-app .sales-table-visual .sales-table-row.level-1 > td,
.sales-panel-app .sales-table-visual .sales-table-row.level-1:nth-child(even) > td {
  color: #4d4039;
  background: #f7f2ee;
  border-bottom-color: #e8ddd7;
}

.sales-panel-app .sales-table-visual .sales-table-row.level-1 > td:first-child {
  box-shadow: inset 4px 0 0 #efa47f;
}

.sales-panel-app .sales-table-visual .sales-table-row.level-2 > td,
.sales-panel-app .sales-table-visual .sales-table-row.level-2:nth-child(even) > td {
  color: #423b37;
  background: #fff;
  border-bottom-color: #eee8e4;
}

.sales-panel-app .sales-table-visual .sales-table-row.level-2 > td:first-child {
  box-shadow: inset 4px 0 0 #e8dfda;
}

.sales-panel-app .sales-table-visual .sales-table-row:hover > td {
  color: #3f2418;
  background: #ffe4d5 !important;
}

.sales-panel-app .sales-table-row { cursor: default; }
.sales-panel-app .sales-tree-toggle { cursor: pointer; }
.sales-panel-app .sales-table-row:focus-visible { outline: 2px solid #ef7842; outline-offset: -2px; }

@media (max-width: 620px) {
  .sales-row-detail-backdrop { padding: 10px; }
  .sales-row-detail-modal { max-height: calc(100dvh - 20px); border-radius: 15px; }
  .sales-row-detail-head { grid-template-columns: 40px minmax(0, 1fr) 34px; padding: 16px; }
  .sales-row-detail-icon { width: 40px; height: 40px; }
  .sales-row-detail-body { padding: 16px; }
  .sales-row-detail-grid { grid-template-columns: 1fr; }
  .sales-row-detail-foot { padding: 12px 16px 16px; }
  .sales-row-detail-foot button { flex: 1; }
}
.data-inspector-host{position:relative!important}
.data-inspector-trigger{position:absolute;top:8px;right:8px;z-index:30;width:34px;height:34px;border:1px solid rgba(15,106,80,.25);border-radius:50%;background:#fff;color:#0f6a50;box-shadow:0 3px 12px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;opacity:.82;transition:.18s ease}
.data-inspector-trigger:hover{opacity:1;transform:scale(1.08);background:#0f6a50;color:#fff}
#data-inspector-modal .table-responsive{max-height:320px}
#data-inspector-modal td,#data-inspector-modal th{white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}


/* Sidebar refinement: navigation-first, calm hierarchy and touch-safe controls. */
body.app-with-sidebar {
  --sidebar-accent: #e9632c;
  --sidebar-accent-dark: #a9441b;
  --sidebar-ink: #3f3935;
  --sidebar-muted: #776f69;
  --sidebar-line: rgba(92, 66, 52, .11);
}

body.app-with-sidebar .sidebar {
  isolation: isolate;
  color: var(--sidebar-ink);
  background: linear-gradient(180deg, #fffdfc 0%, #fffaf7 100%);
}

body.app-with-sidebar .sidebar-brand {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 72px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--sidebar-line);
  background: linear-gradient(135deg, #fff7f1, #fffdfc 72%);
}

/* Logo grande ocupando o topo inteiro do sidebar, em vez do ícone/texto
   pequeno — pedido explícito, sobrepõe o grid de 2 colunas (ícone+texto)
   de .sidebar-brand acima e o tamanho pequeno herdado dele. */
body.app-with-sidebar .sidebar-brand-full {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  justify-content: center;
  min-height: 132px;
  padding: 18px;
  /* A logo usa tons claros/pastel — sem um fundo com contraste ela some
     no fundo claro padrão do sidebar (era exatamente pra isso que a
     caixinha laranja do ícone antigo existia). */
  background: linear-gradient(135deg, #f4773a, #d94e1f);
}

body.app-with-sidebar .sidebar-brand-full img {
  width: 100%;
  max-width: 220px;
  height: auto;
  max-height: 108px;
  object-fit: contain;
}

body.app-with-sidebar .sidebar-brand-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

body.app-with-sidebar .sidebar-brand-kicker {
  color: var(--sidebar-accent-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
  line-height: 1;
}

body.app-with-sidebar .sidebar-brand-copy strong {
  overflow: hidden;
  color: var(--sidebar-ink);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* (regra que escondia .sidebar-brand > img em 1px/opacity:0 removida —
   a logo agora é o conteúdo real do topo do sidebar, ver .sidebar-brand-full) */

body.app-with-sidebar .sidebar-nav-tools {
  display: grid;
  gap: 7px;
  padding: 10px 10px 7px;
  border-bottom: 1px solid var(--sidebar-line);
  background: rgba(255, 253, 252, .82);
}

body.app-with-sidebar .sidebar-search-wrap {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) 24px;
  align-items: center;
  min-height: 38px;
  gap: 7px;
  padding: 0 8px 0 11px;
  color: #9a8d85;
  border: 1px solid #eadbd3;
  border-radius: 11px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.app-with-sidebar .sidebar-search-wrap:focus-within {
  border-color: rgba(233, 99, 44, .65);
  background: #fffaf7;
  box-shadow: 0 0 0 3px rgba(233, 99, 44, .13);
}

body.app-with-sidebar .sidebar-search-wrap > i {
  color: var(--sidebar-accent);
  font-size: 12px;
  text-align: center;
}

body.app-with-sidebar #sidebar-search {
  width: 100%;
  min-width: 0;
  padding: 7px 0;
  color: var(--sidebar-ink);
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  font-size: 12px;
}

body.app-with-sidebar #sidebar-search::placeholder {
  color: #a79a92;
}

body.app-with-sidebar #sidebar-search-clear,
body.app-with-sidebar #sidebar-collapse-all {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #9b8d84;
  border: 0;
  border-radius: 7px;
  background: transparent;
  font-size: 11px;
  transition: color .16s ease, background-color .16s ease;
}

body.app-with-sidebar #sidebar-search-clear[hidden] {
  display: none !important;
}

body.app-with-sidebar #sidebar-search-clear:hover,
body.app-with-sidebar #sidebar-collapse-all:hover {
  color: var(--sidebar-accent-dark);
  background: #ffece1;
}

body.app-with-sidebar .sidebar-nav-meta {
  display: flex;
  min-height: 20px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 2px;
  color: #a1938b;
  font-size: 10px;
  font-weight: 650;
}

body.app-with-sidebar .sidebar-nav-meta span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.app-with-sidebar .sidebar-nav {
  padding: 9px 9px 12px;
  scrollbar-gutter: stable;
}

body.app-with-sidebar .sidebar-group {
  margin: 0 0 7px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(92, 66, 52, .08);
}

body.app-with-sidebar .sidebar-group:last-child {
  margin-bottom: 0;
  border-bottom: 0;
}

body.app-with-sidebar .sidebar-section-toggle {
  min-height: 35px;
  padding: 7px 9px;
  color: var(--sidebar-muted);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.app-with-sidebar .sidebar-section-toggle:hover,
body.app-with-sidebar .sidebar-group.is-open > .sidebar-section-toggle {
  color: var(--sidebar-accent-dark);
  background: #fff3ec;
}

body.app-with-sidebar .sidebar-group.has-active > .sidebar-section-toggle {
  color: var(--sidebar-accent-dark);
  background: #ffede4;
  box-shadow: inset 3px 0 0 var(--sidebar-accent);
}

body.app-with-sidebar .sidebar-group.has-active.is-open > .sidebar-section-toggle {
  color: #fff;
  background: linear-gradient(100deg, #f4773a, #e9632c);
  box-shadow: 0 5px 13px rgba(220, 86, 29, .2);
}

body.app-with-sidebar .sidebar-link {
  position: relative;
  min-height: 39px;
  margin: 2px 0;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  transition: color .16s ease, background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

body.app-with-sidebar .sidebar-link:hover {
  transform: translateX(2px);
}

body.app-with-sidebar .sidebar-link.active {
  color: #a33f18;
  background: linear-gradient(100deg, #ffeadf, #fff5ef);
  box-shadow: inset 3px 0 0 var(--sidebar-accent), 0 4px 10px rgba(152, 74, 39, .07);
}

body.app-with-sidebar .sidebar-link.active::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 5px;
  height: 5px;
  content: '';
  border-radius: 50%;
  background: var(--sidebar-accent);
  box-shadow: 0 0 0 3px rgba(233, 99, 44, .13);
  transform: translateY(-50%);
}

body.app-with-sidebar .sidebar-parent-row .sidebar-link.active::after {
  right: 6px;
}

body.app-with-sidebar .sidebar-sublink {
  min-height: 32px;
  margin: 2px 0;
  padding: 7px 9px;
  border-radius: 8px;
  font-size: 11px;
}

body.app-with-sidebar .sidebar-sublink.active {
  color: var(--sidebar-accent-dark);
  background: #ffebe1;
  box-shadow: inset 2px 0 0 var(--sidebar-accent);
}

body.app-with-sidebar .sidebar-search-hidden {
  display: none !important;
}

@media (max-width: 860px) {
  body.app-with-sidebar .sidebar-brand {
    min-height: 76px;
    padding-left: 64px !important;
  }

  body.app-with-sidebar .sidebar-nav-tools {
    padding: 11px 12px 8px;
  }

  body.app-with-sidebar .sidebar-search-wrap {
    min-height: 44px;
    border-radius: 12px;
  }

  body.app-with-sidebar #sidebar-search {
    font-size: 14px;
  }

  body.app-with-sidebar .sidebar-nav-meta {
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.app-with-sidebar .sidebar-link,
  body.app-with-sidebar .sidebar-search-wrap,
  .sidebar-section-panel,
  .sidebar-submenu-panel {
    transition: none !important;
  }
}

.freshness-badge {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 1080;
  background: rgba(18, 50, 74, 0.92);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 7px 12px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

.freshness-badge i {
  margin-right: 5px;
  opacity: 0.85;
}

@media (max-width: 576px) {
  .freshness-badge {
    right: 8px;
    bottom: 8px;
    font-size: 11px;
    padding: 6px 10px;
  }
}
