/* Dashboard-only styles. Pairs with style.css. */

.page.wide { max-width: 60rem; }

/* ---- Live status strip ---- */
.status {
  display: flex; flex-wrap: wrap; gap: 1.6rem 2.4rem;
  border: 1px solid var(--rule); border-left: 4px solid var(--accent);
  background: var(--paper-alt); border-radius: 3px;
  padding: 1.2rem 1.4rem; margin: 0 0 2.6rem;
}
.status .stat { flex: 1 1 8rem; }
.status .num { font-size: 2.1rem; font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; }
.status .cap {
  font-family: var(--sans); font-size: 0.7rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ink-faint); font-weight: 650; margin-top: 0.25rem;
}

/* ---- Card grids ---- */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; margin: 1.4rem 0 0; }
.card {
  display: block; border: 1px solid var(--rule); border-radius: 3px;
  background: #fff; padding: 1rem 1.1rem 1.05rem; text-decoration: none; color: inherit;
  border-top: 3px solid var(--accent);
}
.card:hover { background: var(--paper-alt); border-top-color: var(--ink); }
.card .kicker {
  font-family: var(--sans); font-size: 0.62rem; letter-spacing: 0.14em;
  text-transform: uppercase; font-weight: 650; color: var(--accent); display: block; margin-bottom: 0.4rem;
}
.card .name { font-size: 1.12rem; font-weight: 600; line-height: 1.25; display: block; margin-bottom: 0.35rem; }
.card .blurb { font-family: var(--sans); font-size: 0.8rem; line-height: 1.45; color: var(--ink-soft); }
.card.ref { border-top-color: var(--ink-faint); }
.card.ref .kicker { color: var(--ink-faint); }

/* ---- Deadline list ---- */
.dates { list-style: none; padding: 0; margin: 1.4rem 0 0; }
.dates li {
  display: flex; flex-wrap: wrap; gap: 0.2rem 1rem; align-items: baseline;
  padding: 0.6rem 0; border-bottom: 1px solid var(--rule);
}
.dates li:last-child { border-bottom: none; }
.dates .when {
  font-family: var(--mono); font-size: 0.82rem; color: var(--accent);
  white-space: nowrap; flex: 0 0 10.5rem;
}
.dates .what { flex: 1 1 14rem; font-weight: 600; font-size: 0.98rem; }
.dates .why { flex: 1 1 100%; font-family: var(--sans); font-size: 0.8rem; color: var(--ink-soft); }
.dates .cd {
  font-family: var(--sans); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: 650; color: var(--ink-faint); white-space: nowrap;
}
.dates li.now { background: var(--accent-soft); }
.dates li.now .cd { color: var(--accent); }
.dates li.done { opacity: 0.5; }
.dates li.done .cd { color: var(--good); }

/* ---- Phone numbers ---- */
.numbers { list-style: none; padding: 0; margin: 1.4rem 0 0; column-width: 15rem; column-gap: 2rem; }
.numbers li { break-inside: avoid; margin: 0 0 0.5rem; font-family: var(--sans); font-size: 0.86rem; }
.numbers a { font-family: var(--mono); font-size: 0.9rem; white-space: nowrap; }
.numbers .who { display: block; color: var(--ink-soft); font-size: 0.76rem; }

/* ---- Plain link rows ---- */
.filelist { list-style: none; padding: 0; margin: 1.4rem 0 0; font-family: var(--sans); font-size: 0.87rem; }
.filelist li { margin: 0 0 0.4rem; }
.filelist .meta { color: var(--ink-faint); }

@media print {
  .card { break-inside: avoid; }
  .status { background: #fff; }
}
