.admin-panel-content.admin-activity-economy-active > :not(#admin-panel-activity-economy) { display: none !important; }
.admin-panel-content.admin-activity-economy-active { width: 100%; max-width: none; }

.admin-activity-economy {
  --aae-accent: #ff174d;
  --aae-surface: #121214;
  --aae-surface-2: #0e0e10;
  --aae-border: rgba(255,255,255,.085);
  --aae-ink: #f5f5f7;
  --aae-ink-2: rgba(255,255,255,.55);
  --aae-muted: #898781;
  --aae-grid: rgba(255,255,255,.06);
  --aae-baseline: #3a3a38;
  --aae-returning: #3987e5;
  --aae-new: #c98500;
  --aae-revenue: #199e70;
  --aae-expense: #d95926;
  --aae-result: #f5f5f7;
  --aae-good: #0ca30c;
  --aae-critical: #e66767;
  --aae-warning: #fab219;
  position: relative;
  width: 100%;
  color: var(--aae-ink);
}
.admin-activity-economy[hidden] { display: none; }
.admin-activity-economy *, .admin-activity-economy *::before, .admin-activity-economy *::after { box-sizing: border-box; }
.admin-activity-economy.is-loading .aae-kpis,
.admin-activity-economy.is-loading .aae-grid,
.admin-activity-economy.is-loading .aae-card { opacity: .62; transition: opacity .2s; }
.admin-activity-economy.is-loading [data-refresh] .material-icons { animation: aae-spin .8s linear infinite; }
@keyframes aae-spin { to { transform: rotate(360deg); } }

.aae-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.aae-kicker, .aae-card-head small, .aae-kpi small { color: var(--aae-accent); font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.aae-header h1 { margin: 5px 0 0; font-size: 25px; line-height: 1; letter-spacing: -.035em; }
.aae-header p { margin: 8px 0 0; color: rgba(255,255,255,.48); font-size: 12px; }
.aae-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }

.admin-activity-economy [data-refresh].is-loading .material-icons { animation: aae-spin .8s linear infinite; }
.admin-activity-economy.is-pending > :not(.aae-header):not(.aae-status):not(.aae-toast):not(.aae-tooltip) { display: none !important; }

.aae-month-nav { display: inline-flex; align-items: center; gap: 6px; }
.aae-month-nav > button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 36px;
  border: 1px solid var(--aae-border);
  border-radius: 7px;
  background: var(--aae-surface);
  color: rgba(255,255,255,.72);
  cursor: pointer;
}
.aae-month-nav > button:hover:not(:disabled) { border-color: rgba(255,23,77,.42); color: #fff; }
.aae-month-nav > button:disabled { opacity: .35; cursor: default; }
.aae-month-nav > button .material-icons { font-size: 19px; }
.aae-month-nav label { display: flex; align-items: center; gap: 9px; min-height: 36px; border: 1px solid var(--aae-border); border-radius: 7px; padding: 0 10px; background: var(--aae-surface); }
.aae-month-nav label span { color: rgba(255,255,255,.4); font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.aae-month-nav input { border: 0; outline: 0; background: transparent; color: #fff; color-scheme: dark; font: inherit; font-size: 11px; font-weight: 700; }

.aae-months { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; margin: -6px 0 12px; }
.aae-months > span { color: rgba(255,255,255,.35); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.aae-months > div { display: flex; gap: 5px; min-width: 0; overflow-x: auto; padding: 3px 1px 5px; scrollbar-width: thin; }
.aae-months button {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  flex: 0 0 auto;
  min-height: 28px;
  border: 1px solid var(--aae-border);
  border-radius: 6px;
  padding: 0 9px;
  background: rgba(255,255,255,.018);
  color: rgba(255,255,255,.5);
  font: inherit;
  font-size: 9px;
  font-weight: 750;
  text-transform: capitalize;
  cursor: pointer;
}
.aae-months button b { color: rgba(255,255,255,.25); font-size: 7px; }
.aae-months button:hover { border-color: rgba(255,23,77,.3); color: #fff; }
.aae-months button.active { border-color: rgba(255,23,77,.48); background: rgba(255,23,77,.1); color: #ff5878; }
.aae-months button.active b { color: rgba(255,88,120,.65); }

.aae-status { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; border: 1px solid var(--aae-border); border-radius: 9px; padding: 9px 12px; background: rgba(255,255,255,.015); color: rgba(255,255,255,.45); font-size: 10.5px; }
.aae-status[hidden] { display: none; }
.aae-status > .material-icons { font-size: 17px; }
.aae-status strong { color: #f5f5f7; font-size: 12px; }
.aae-status p { margin: 0; }
.aae-status strong + p { margin-top: 3px; }
.aae-status.is-working > .material-icons { color: #71b0ff; animation: aae-spin 1.4s linear infinite; }
.aae-status.is-error { border-color: rgba(230,103,103,.3); background: rgba(230,103,103,.06); }
.aae-status.is-error > .material-icons { color: var(--aae-critical); }
.admin-activity-economy.is-pending .aae-status { padding: 18px 16px; }

.aae-month-title { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin: 0 0 10px; font-size: 18px; letter-spacing: -.02em; }
.aae-month-title::first-letter { text-transform: uppercase; }
.aae-month-title .aae-flag { margin-left: 6px; }

.aae-selected-band { fill: rgba(255,23,77,.07); stroke: rgba(255,23,77,.28); stroke-width: 1; pointer-events: none; }
.aae-clickable { cursor: pointer; }
.aae-tooltip em { display: block; margin-top: 6px; color: rgba(255,255,255,.35); font-size: 9.5px; font-style: normal; }
.aae-table tbody tr[data-row-month] { cursor: pointer; }
.aae-table tbody tr.is-selected td { background: rgba(255,23,77,.06); }
.aae-table tbody tr.is-selected td:first-child { box-shadow: inset 2px 0 0 var(--aae-accent); }

.aae-range { display: inline-flex; border: 1px solid var(--aae-border); border-radius: 8px; padding: 3px; background: var(--aae-surface); }
.aae-range button {
  min-height: 28px;
  border: 0;
  border-radius: 5px;
  padding: 0 10px;
  background: transparent;
  color: rgba(255,255,255,.55);
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}
.aae-range button:hover { color: #fff; background: rgba(255,255,255,.04); }
.aae-range button.active { background: rgba(255,23,77,.12); color: #ff5878; box-shadow: inset 0 0 0 1px rgba(255,23,77,.4); }

.aae-secondary, .aae-expense-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  border: 1px solid var(--aae-border);
  border-radius: 7px;
  padding: 0 12px;
  background: var(--aae-surface);
  color: rgba(255,255,255,.72);
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.aae-secondary:hover, .aae-expense-form button:hover { border-color: rgba(255,23,77,.42); background: rgba(255,23,77,.06); color: #fff; }
.aae-secondary .material-icons { font-size: 16px; }
.aae-expense-form button { background: var(--aae-accent); border-color: var(--aae-accent); color: #fff; }
.aae-expense-form button:hover { background: #ff3a68; }
.aae-expense-form button:disabled { opacity: .5; cursor: default; }

.aae-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-bottom: 10px; }
.aae-kpi {
  display: flex;
  gap: 11px;
  min-width: 0;
  border: 1px solid var(--aae-border);
  border-radius: 10px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), transparent), var(--aae-surface);
}
.aae-kpi > .material-icons { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.04); color: rgba(255,255,255,.6); font-size: 17px; }
.aae-kpi > div { min-width: 0; }
.aae-kpi small { display: block; color: rgba(255,255,255,.42); font-size: 8px; line-height: 1.3; }
.aae-kpi strong { display: block; margin-top: 6px; font-size: 22px; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
.aae-kpi p { margin: 6px 0 0; color: rgba(255,255,255,.42); font-size: 9.5px; line-height: 1.35; }
.aae-kpi.is-positive { border-color: rgba(12,163,12,.3); }
.aae-kpi.is-positive > .material-icons { background: rgba(12,163,12,.12); color: var(--aae-good); }
.aae-kpi.is-negative { border-color: rgba(230,103,103,.3); }
.aae-kpi.is-negative > .material-icons { background: rgba(230,103,103,.12); color: var(--aae-critical); }

.aae-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.aae-span-2 { grid-column: span 2; }
.aae-card {
  min-width: 0;
  margin-bottom: 10px;
  border: 1px solid var(--aae-border);
  border-radius: 12px;
  padding: 16px 16px 12px;
  background: var(--aae-surface);
}
.aae-grid > .aae-card { margin-bottom: 0; }
.aae-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.aae-card-head h2 { margin: 4px 0 0; font-size: 15px; letter-spacing: -.02em; }
.aae-card-head p { margin: 4px 0 0; color: rgba(255,255,255,.42); font-size: 10.5px; }

.aae-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 14px; padding-top: 2px; }
.aae-legend span { display: inline-flex; align-items: center; gap: 6px; color: var(--aae-ink-2); font-size: 10px; font-weight: 650; white-space: nowrap; }
.aae-swatch { display: inline-block; flex: 0 0 auto; width: 10px; height: 10px; border-radius: 3px; }
.aae-swatch.is-daily { background: rgba(57,135,229,.45); }
.aae-swatch.is-line { width: 14px; height: 2px; border-radius: 2px; background: var(--aae-returning); }
.aae-swatch.is-returning { background: var(--aae-returning); }
.aae-swatch.is-new { background: var(--aae-new); }
.aae-swatch.is-revenue { background: var(--aae-revenue); }
.aae-swatch.is-expense { background: var(--aae-expense); }
.aae-swatch.is-result { width: 14px; height: 2px; border-radius: 2px; background: var(--aae-result); }

.aae-chart { position: relative; width: 100%; min-height: 250px; }
.aae-chart svg { display: block; overflow: visible; touch-action: pan-y; }
.aae-chart-error { margin: 0; padding: 90px 0; color: var(--aae-muted); font-size: 11px; text-align: center; }
.aae-grid-line { stroke: var(--aae-grid); stroke-width: 1; }
.aae-axis-base { stroke: var(--aae-baseline); stroke-width: 1; }
.aae-axis-label { fill: var(--aae-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.aae-direct-label { fill: var(--aae-ink); font-size: 11px; font-weight: 750; pointer-events: none; paint-order: stroke; stroke: var(--aae-surface); stroke-width: 4px; stroke-linejoin: round; }
.aae-hover-band { fill: rgba(255,255,255,.035); pointer-events: none; }
.aae-marks { pointer-events: none; }
.aae-crosshair { stroke: rgba(255,255,255,.28); stroke-width: 1; pointer-events: none; }

.aae-area-daily { fill: rgba(57,135,229,.14); pointer-events: none; }
.aae-line-daily { fill: none; stroke: rgba(57,135,229,.5); stroke-width: 1.25; stroke-linejoin: round; pointer-events: none; }
.aae-line-average { fill: none; stroke: var(--aae-returning); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; pointer-events: none; }
.aae-point-peak, .aae-point-hover { fill: var(--aae-returning); stroke: var(--aae-surface); stroke-width: 2; pointer-events: none; }

.aae-bar-returning { fill: var(--aae-returning); }
.aae-bar-new { fill: var(--aae-new); }
.aae-bar-revenue { fill: var(--aae-revenue); }
.aae-bar-expense { fill: var(--aae-expense); }
.aae-line-retention { fill: none; stroke: var(--aae-returning); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.aae-point-retention { fill: var(--aae-returning); stroke: var(--aae-surface); stroke-width: 2; }
.aae-line-result { fill: none; stroke: var(--aae-result); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.aae-point-result { fill: var(--aae-result); stroke: var(--aae-surface); stroke-width: 2; }

.aae-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 30;
  min-width: 190px;
  max-width: 280px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  padding: 10px 12px;
  background: rgba(14,14,16,.97);
  box-shadow: 0 14px 34px rgba(0,0,0,.45);
  color: var(--aae-ink);
  font-size: 11px;
  pointer-events: none;
}
.aae-tooltip[hidden] { display: none; }
.aae-tooltip strong { display: block; margin-bottom: 7px; font-size: 11.5px; }
.aae-tooltip strong::first-letter { text-transform: uppercase; }
.aae-tooltip div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 2px 0; }
.aae-tooltip span { display: inline-flex; align-items: center; gap: 6px; color: var(--aae-ink-2); }
.aae-tooltip b { font-variant-numeric: tabular-nums; }

.aae-expense-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 16px; }
.aae-expense-card .aae-card-head { margin-bottom: 0; }
.aae-expense-form { display: flex; align-items: flex-end; gap: 8px; }
.aae-expense-form label > span { display: block; margin-bottom: 5px; color: rgba(255,255,255,.4); font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.aae-expense-form label > div { display: flex; align-items: center; min-height: 36px; border: 1px solid var(--aae-border); border-radius: 7px; padding: 0 10px; background: var(--aae-surface-2); }
.aae-expense-form input { width: 110px; border: 0; outline: 0; background: transparent; color: #fff; color-scheme: dark; font: inherit; font-size: 14px; font-weight: 750; }
.aae-expense-form b { color: rgba(255,255,255,.45); }

.aae-table-wrap { overflow-x: auto; scrollbar-width: thin; }
.aae-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.aae-table th {
  padding: 8px 10px;
  border-bottom: 1px solid var(--aae-border);
  color: rgba(255,255,255,.38);
  font-size: 8.5px;
  font-weight: 850;
  letter-spacing: .08em;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}
.aae-table th:first-child, .aae-table td:first-child { text-align: left; }
.aae-table td { padding: 9px 10px; border-bottom: 1px solid rgba(255,255,255,.045); white-space: nowrap; }
.aae-table tbody tr:hover td { background: rgba(255,255,255,.018); }
.aae-table td strong { text-transform: capitalize; }
.aae-table td small { display: block; margin-top: 2px; color: rgba(255,255,255,.32); font-size: 9px; }
.aae-table .is-num { text-align: right; font-variant-numeric: tabular-nums; }
.aae-table .is-muted { color: rgba(255,255,255,.45); }
.aae-table tfoot td { border-top: 1px solid rgba(255,255,255,.12); border-bottom: 0; background: rgba(255,255,255,.02); font-weight: 750; }

.aae-flag { display: inline-block; margin-left: 7px; border: 1px solid rgba(77,156,255,.3); border-radius: 999px; padding: 2px 6px; color: #71b0ff; font-size: 8px; font-weight: 800; vertical-align: 1px; }
.aae-flag.is-warning { border-color: rgba(250,178,25,.3); color: var(--aae-warning); }

.aae-expense-cell { display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px; }
.aae-expense-cell input {
  width: 62px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 4px 6px;
  background: transparent;
  color: var(--aae-ink);
  color-scheme: dark;
  font: inherit;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.aae-expense-cell input { -moz-appearance: textfield; appearance: textfield; }
.aae-expense-cell input::-webkit-inner-spin-button,
.aae-expense-cell input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.aae-expense-cell input:hover { border-color: var(--aae-border); }
.aae-expense-cell input:focus { outline: 0; border-color: rgba(255,23,77,.5); background: var(--aae-surface-2); }
.aae-expense-cell b { color: rgba(255,255,255,.4); font-weight: 600; }
.aae-expense-cell.is-custom input { color: #ffb38f; }
.aae-expense-cell button { display: grid; place-items: center; width: 22px; height: 22px; border: 0; border-radius: 5px; background: transparent; color: rgba(255,255,255,.45); cursor: pointer; }
.aae-expense-cell button:hover { background: rgba(255,255,255,.06); color: #fff; }
.aae-expense-cell button .material-icons { font-size: 14px; }

.aae-result { display: inline-flex; align-items: center; gap: 3px; font-weight: 750; }
.aae-result .material-icons { font-size: 13px; }
.aae-result.is-positive { color: #3fc43f; }
.aae-result.is-negative { color: var(--aae-critical); }

.aae-cohorts td.aae-cohort-cell { min-width: 64px; border: 2px solid var(--aae-surface); border-radius: 4px; color: rgba(255,255,255,.82); text-align: center; font-variant-numeric: tabular-nums; }
.aae-cohorts td.aae-cohort-cell.is-strong { color: #fff; font-weight: 750; }
.aae-cohorts td.aae-cohort-cell.is-empty { background: transparent; }
.aae-cohorts th:not(:first-child) { text-align: center; }
.aae-cohorts th:nth-child(2), .aae-cohorts td:nth-child(2) { text-align: right; }

.aae-note { display: flex; align-items: flex-start; gap: 7px; margin: 4px 0 0; color: rgba(255,255,255,.35); font-size: 10px; line-height: 1.45; }
.aae-note .material-icons { font-size: 14px; }

.aae-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--aae-border);
  border-radius: 9px;
  padding: 11px 14px;
  background: #151517;
  box-shadow: 0 14px 34px rgba(0,0,0,.45);
  color: #fff;
  font-size: 11px;
}
.aae-toast[hidden] { display: none; }
.aae-toast .material-icons { font-size: 17px; }
.aae-toast.is-success .material-icons { color: var(--aae-good); }
.aae-toast.is-error .material-icons { color: var(--aae-critical); }

@media (max-width: 1280px) {
  .aae-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .aae-header { flex-direction: column; align-items: stretch; }
  .aae-header-actions { justify-content: space-between; }
  .aae-grid { grid-template-columns: minmax(0, 1fr); }
  .aae-span-2 { grid-column: auto; }
  .aae-card-head { flex-direction: column; gap: 8px; }
  .aae-legend { justify-content: flex-start; }
  .aae-expense-card { flex-direction: column; align-items: stretch; }
}
@media (max-width: 560px) {
  .aae-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aae-kpi { flex-direction: column; gap: 8px; padding: 12px; }
  .aae-kpi strong { font-size: 19px; }
  .aae-range button { padding: 0 8px; }
  .aae-card { padding: 13px 12px 10px; }
  .aae-expense-form { flex-wrap: wrap; }
  .aae-expense-form label { flex: 1; }
  .aae-expense-form input { width: 100%; }
}
