.app-shell--reporter {
  display: block;
  min-height: 100vh;
  background: #f5f7fb;
}

.app-shell--reporter .workspace {
  width: min(100%, 1440px);
  margin: 0 auto;
}

.reporter-shell-actions {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px clamp(16px, 3vw, 36px);
  border-bottom: 1px solid #dfe4ef;
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 6px 24px rgb(17 34 98 / 7%);
  backdrop-filter: blur(14px);
}

.reporter-shell-actions__navigation {
  display: grid;
  width: min(100%, 780px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.reporter-shell-action {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #d8deeb;
  border-radius: 10px;
  background: #fff;
  color: #112262;
  cursor: pointer;
  font: inherit;
  font-size: .84rem;
  font-weight: 760;
  text-decoration: none;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.reporter-shell-action:hover,
.reporter-shell-action:focus-visible {
  border-color: #112262;
  box-shadow: 0 5px 14px rgb(17 34 98 / 10%);
  outline: none;
}

.reporter-shell-action--active {
  border-color: #112262;
  background: #112262;
  color: #fff;
}

.reporter-shell-action--logout {
  min-width: 116px;
  border-color: #ffcc05;
  background: #ffcc05;
  color: #112262;
}

.app-shell--reporter .workspace-main {
  padding: clamp(16px, 3vw, 34px);
}

.reporter-page {
  display: grid;
  min-width: 0;
  gap: 16px;
}

.reporter-heading,
.reporter-controls,
.reporter-results {
  border: 1px solid #e1e6f0;
  background: #fff;
  box-shadow: 0 8px 28px rgb(17 34 98 / 5%);
}

.reporter-heading {
  padding: 20px clamp(18px, 3vw, 30px);
}

.reporter-heading .eyebrow {
  margin: 0 0 5px;
  color: #8a6d00;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.reporter-heading h1 {
  margin: 0;
  color: #112262;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: -.025em;
}

.reporter-heading p:last-child {
  max-width: 760px;
  margin: 7px 0 0;
  color: #667085;
}

.reporter-controls { padding: 15px 18px; }

.reporter-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
  align-items: end;
  gap: 12px;
}

.reporter-filter {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #475467;
  font-size: .74rem;
  font-weight: 750;
}

.reporter-filter input,
.reporter-filter select {
  width: 100%;
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid #cfd6e5;
  border-radius: 8px;
  background: #fff;
  color: #17213f;
}

.reporter-filter input:focus,
.reporter-filter select:focus {
  border-color: #112262;
  box-shadow: 0 0 0 3px rgb(17 34 98 / 10%);
  outline: none;
}

.reporter-filter select:disabled { background: #f4f6fa; opacity: 1; }
.reporter-filter__help { color: #697386; font-weight: 520; }
.reporter-filters__submit { min-width: 126px; min-height: 42px; }

.reporter-feedback {
  min-height: 19px;
  margin: -7px 2px;
  color: #667085;
  font-size: .76rem;
  font-weight: 650;
}

.reporter-feedback--error { color: #b42318; }
.reporter-results { min-width: 0; padding: clamp(16px, 2.5vw, 26px); }

.reporter-state {
  display: grid;
  min-height: 150px;
  place-items: center;
  color: #667085;
  text-align: center;
}

.reporter-state--error { color: #b42318; }

.reporter-package-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.reporter-package-metric,
.reporter-package-total,
.reporter-money-card,
.reporter-profit-count {
  border: 1px solid #e0e5ef;
  border-radius: 12px;
  background: #fff;
}

.reporter-package-metric {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
}

.reporter-package-metric span { color: #59647a; font-size: .78rem; font-weight: 680; }
.reporter-package-metric strong { color: #112262; font-size: 1.45rem; font-variant-numeric: tabular-nums; }

.reporter-package-total {
  margin-top: 12px;
  padding: 16px 18px;
  border-color: #112262;
  background: #112262;
  color: #fff;
}

.reporter-package-total div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.reporter-package-total strong { font-size: 1.8rem; font-variant-numeric: tabular-nums; }
.reporter-package-total p,
.reporter-semantics { margin: 7px 0 0; font-size: .75rem; }
.reporter-semantics { color: #667085; }

.reporter-profit-headline { display: grid; gap: 12px; }
.reporter-profit-count { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; }
.reporter-profit-count strong { color: #112262; font-size: 1.55rem; }

.reporter-money-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.reporter-money-card { padding: 14px 16px; }
.reporter-money-card h3 { margin: 0 0 9px; color: #59647a; font-size: .75rem; }
.reporter-money-card dl,
.reporter-money-card dl div { margin: 0; }
.reporter-money-card dl div { display: flex; justify-content: space-between; gap: 12px; padding-top: 5px; }
.reporter-money-card dt { color: #7a8498; font-size: .72rem; }
.reporter-money-card dd { margin: 0; color: #112262; font-weight: 800; font-variant-numeric: tabular-nums; }
.reporter-money-card--net { border-color: #98d7bd; background: #f1fbf6; }
.reporter-money-card--expense { border-color: #f3c3c0; background: #fff8f7; }

.reporter-expenses { margin-top: 18px; }
.reporter-expenses h2,
.reporter-cash-holder h2 { margin: 0; color: #112262; font-size: 1rem; }
.reporter-expenses__actions { display: flex; justify-content: flex-end; margin: -30px 0 9px; }
.reporter-table-region { min-width: 0; overflow: auto; border: 1px solid #e1e6f0; border-radius: 10px; }
.reporter-expense-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: .78rem; }
.reporter-expense-table th,
.reporter-expense-table td { padding: 10px 12px; border-bottom: 1px solid #e7ebf2; text-align: left; }
.reporter-expense-table thead th { background: #f5f7fb; color: #536078; font-size: .68rem; text-transform: uppercase; }
.reporter-expense-table tbody tr:last-child > * { border-bottom: 0; }
.reporter-empty { color: #667085; }

.reporter-cash-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e9f1;
}

.reporter-cash-heading span { display: block; color: #667085; font-size: .7rem; font-weight: 750; }
.reporter-cash-heading strong { color: #112262; font-size: 1.05rem; }
.reporter-cash-heading p { margin: 0; color: #667085; font-size: .74rem; }
.reporter-cash-holder { display: grid; gap: 10px; margin-top: 18px; }

@media (max-width: 820px) {
  .reporter-shell-actions { align-items: stretch; flex-direction: column; }
  .reporter-shell-action--logout { width: 100%; }
  .reporter-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reporter-filters__submit { width: 100%; }
  .reporter-package-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .reporter-shell-actions__navigation { grid-template-columns: 1fr; }
  .reporter-shell-action { justify-content: flex-start; padding-inline: 14px; }
  .reporter-filters,
  .reporter-package-metrics { grid-template-columns: 1fr; }
  .reporter-cash-heading { align-items: flex-start; flex-direction: column; }
  .reporter-expenses__actions { margin: 9px 0; justify-content: stretch; }
  .reporter-expenses__actions button { width: 100%; }
}
