.home-page { font-size: 16px; }
.home-page .market-context { font-size: 14px; }
.home-page .owner-state { font-size: 13px; }
.home-main { width: min(1320px, calc(100% - 40px)); margin-top: 24px; align-content: start; grid-auto-rows: max-content; }
.primary-link { display: inline-flex; min-height: var(--compact-control-height); align-items: center; padding: 0 14px; border-radius: var(--compact-control-radius); color: #fff; background: #33383d; text-decoration: none; }
.primary-link:hover { background: #202428; }
.campaign-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.campaign-heading h2 { font-size: 20px; }
.campaign-heading p { margin-top: 5px; color: var(--muted); font-size: 14px; }
.campaign-list { display: grid; align-content: start; grid-auto-rows: max-content; }
.campaign-row { color: inherit; text-decoration: none; display: grid; grid-template-columns: 90px 190px minmax(360px, 1fr) 180px minmax(280px, 1fr); gap: 16px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); font-size: 14px; }
.campaign-row.header { min-height: 42px; color: var(--muted); font-size: 13px; }
.campaign-status { color: var(--green); }
.campaign-row .value { font-variant-numeric: tabular-nums; }
.campaign-row .secondary-value { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }
.campaign-now { display: grid; gap: 5px; }
.campaign-now > strong { font-size: 15px; font-weight: 500; }
.campaign-pnl { font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.campaign-pnl.positive { color: var(--green); }
.campaign-pnl.negative { color: var(--red); }
.campaign-pnl.neutral { color: var(--muted); }
.campaign-next-check { color: var(--muted); font-size: 13px; line-height: 1.3; }
.campaign-row:not(.header):hover { background: #f8f8f6; }
@media (max-width: 980px) {
  .home-main { width: min(calc(100% - 24px), 1320px); }
  .campaign-row { grid-template-columns: 90px minmax(220px, 1fr) minmax(220px, 1fr); padding: 12px 0; }
  .campaign-row.header { display: none; }
  .campaign-row > :nth-child(4), .campaign-row > :nth-child(5) { grid-column: auto; }
}
@media (max-width: 680px) {
  .campaign-row { grid-template-columns: 86px 1fr; gap: 8px 12px; }
  .campaign-row > :not(:first-child) { grid-column: 2; }
}
@media (max-width: 520px) {
  .campaign-heading { min-width: 0; align-items: flex-start; flex-wrap: wrap; }
  .campaign-list { min-width: 0; max-width: 100%; }
}
