/* Signed-in dashboard, the layout system (loaded last). Apple's grouped style: containers
   stand apart by fill rather than outlines, with one gap and one set of radii; and every
   row of side-by-side containers shares one height, so no box is sized by whatever it
   happens to hold. Pagers and footers sit on a container's bottom edge. */

/* Containers: grouped fill, no outline (danger panels keep their red edge). */
.is-dash .panel, .is-dash .d-stat, .is-dash .empty, .is-dash .glass { border-color: transparent; border-radius: var(--d-radius-lg); }
.is-dash .panel { display: flex; flex-direction: column; gap: 12px; }
.is-dash .panel:not(.panel--flush) { padding: 16px; }
.is-dash .panel > * { min-width: 0; }
.is-dash .panel-title { font: 600 15px/1.35 var(--d-sans); }
.is-dash .page-title { font: 600 24px/1.2 var(--d-sans); letter-spacing: -0.015em; }
.is-dash .d-stat { padding: 16px; }
.is-dash .d-stat-value { font-size: 28px; font-weight: 600; letter-spacing: -0.01em; }
.is-dash .list-pager, .is-dash .d-cards-pager, .is-dash .d-cards-foot { margin-top: auto; }
.is-dash .panel--flush > .d-table-block { flex: 1; display: flex; flex-direction: column; }
.is-dash .panel--flush > .d-table-block > .d-table-foot { margin-top: auto; }

/* Sidebar one step up from the canvas, like a macOS source list. */
.is-dash .d-rail { background: var(--d-panel); border-right-color: transparent; }
.is-dash .d-rail .d-nav-item[aria-current] { background: var(--d-raised); }

/* Rows of side-by-side containers share a height. */
.is-dash .d-split, .is-dash .water-layout, .is-dash .adm-pair, .is-dash .adm-grid, .is-dash .adm-access-grid,
.is-dash .d-report-body, .is-dash .d-report-pair, .is-dash .journal-body, .is-dash .d-season-grid { align-items: stretch; }

/* Overview: the month's cards beside the activity, which fills that height and scrolls
   inside it; then every species across the full width. */
.is-dash .d-ov-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); align-items: stretch; gap: var(--d-gap); }
.is-dash .d-ov-side { position: relative; min-height: 420px; }
.is-dash .d-ov-side > .d-ov-activity { position: absolute; inset: 0; }
.is-dash .d-ov-activity .d-activity-list { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 1099.98px) {
  .is-dash .d-ov-row { grid-template-columns: minmax(0, 1fr); }
  .is-dash .d-ov-side { min-height: 0; }
  .is-dash .d-ov-side > .d-ov-activity { position: static; }
}

/* Every species, in even columns down the page. */
.is-dash .rank-list--cols { display: block; columns: 3 260px; column-gap: 32px; }
.is-dash .rank-list--cols > li { break-inside: avoid; }
.is-dash .rank-list--cols > li + li { border-top: 0; }
.is-dash .rank-list--cols > li { border-bottom: 1px solid var(--d-border); }

/* Season: species across the top, then pairs of equal height; a lone box spans the row. */
.is-dash .d-season-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1100px) { .is-dash .d-season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.is-dash .d-season-grid > .d-span-full { grid-column: 1 / -1; }

/* Report cards: one shape — the same four lines, the same height in every row. */
.is-dash .d-cards { grid-auto-rows: 1fr; }
.is-dash .d-rcard { gap: 6px; border-color: transparent; border-radius: var(--d-radius-md); background: var(--d-raised); }
.is-dash .d-rcard.is-link:hover { border-color: transparent; background: var(--d-hover); }
.is-dash .d-rcard-bag { color: var(--d-muted); font-size: 12px; }

/* Latest activity: two tight lines per report so the newest twelve fit beside the cards. */
.is-dash .d-ov-activity .d-activity {
  display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 10px; row-gap: 1px;
  align-items: center; padding: 6px 16px; line-height: 17px;
}
.is-dash .d-ov-activity .d-activity > .d-avatar { grid-row: 1 / 3; }
.is-dash .d-activity-title, .is-dash .d-activity-sub { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.is-dash .d-activity-title { color: var(--d-text-2); font-size: 13px; }
.is-dash .d-activity-title strong { color: var(--d-text); font-weight: 600; }
.is-dash .d-activity-sub { color: var(--d-muted); font-size: 12px; }
.is-dash .d-activity-sub .d-badge { margin-right: 2px; vertical-align: 1px; }
.is-dash .d-activity-day, .is-dash .d-activity-clock { justify-self: end; color: var(--d-muted); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.is-dash .d-activity-day { color: var(--d-text-2); }

/* The bag is one line of text, cut with an ellipsis. */
.is-dash .d-rcard-bag { display: block; }

/* Column wrappers fill their row, and the last container in each grows to the row's
   bottom edge, so the boxes beside one another end together. */
.is-dash .d-report-main, .is-dash .water-col { display: flex; flex-direction: column; gap: var(--d-gap); }
.is-dash .d-report-main > :last-child, .is-dash .water-col > :last-child { flex: 1; }
@media (min-width: 1100px) { /* below this the report's side column dissolves into the page (dash-records.css) */
  .is-dash .d-report-side { display: flex; flex-direction: column; gap: var(--d-gap); }
  .is-dash .d-report-side > :last-child { flex: 1; }
}
.is-dash .d-report-pair { align-items: stretch; }
.is-dash .adm-access-side { display: flex; flex-direction: column; gap: var(--d-gap); }
.is-dash .adm-access-side > :last-child { flex: 1; }
/* A hunt report's actions sit in its header, beside the title. */
.is-dash .d-report-head-actions { flex-wrap: wrap; justify-content: flex-end; }
/* Card columns are fixed per page, and each page holds whole rows: the Overview 3 across
   (9 a page), Hunt reports 4 across on desktop and 3 on tablets (12 a page). */
.is-dash .d-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.is-dash .d-records .d-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1099.98px) { .is-dash .d-records .d-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 639.98px) { .is-dash .d-cards, .is-dash .d-records .d-cards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 639.98px) { .is-dash .d-report-head-actions { justify-content: flex-start; } }
