:root {
  --sidebar-width: 264px;
}

body {
  min-height: 100vh;
}

.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;
}

.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) 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 Natam/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-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;
}

.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-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-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; }
@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-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: 13px;
  height: 13px;
  flex: 0 0 13px;
  place-items: center;
}

.sales-panel-app .sales-tree-toggle {
  color: #555;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  border: 1px solid #a9a9a9;
  border-radius: 2px;
  background: #f8f8f8;
}

.sales-panel-app .sales-tree-toggle:hover {
  color: #111;
  border-color: #666;
}

.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;
}

.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;
}

.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-pill label {
  margin: 0;
  color: var(--bs-secondary-color);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.report-filter-pill select {
  width: auto;
  min-width: 160px;
  max-width: 280px;
  padding-top: .15rem;
  padding-bottom: .15rem;
  font-size: .8rem;
}

.report-filter-remove {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.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;
}

.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);
}

.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%;
  border-collapse: collapse;
  table-layout: fixed;
}

.expense-month-table th,
.expense-month-table td {
  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;
}

.expense-month-value.is-negative {
  color: #dc3545;
}

.expense-month-empty {
  display: block;
  color: rgba(var(--bs-body-color-rgb), .25);
}

/* ─── Login Natam 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;
  }
}

/* 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}
}
