.glance__link {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

.glance:has(.glance__link:hover) {
  border-color: var(--color-border-strong);
}

.glance--attention:has(.glance__link:hover) {
  border-color: var(--color-warning);
}

.section--first {
  margin-top: 0;
}

.request {
  display: grid;
  gap: var(--space-4);
  align-content: start;
  min-width: 0;
  padding: clamp(var(--space-5), 4vw, var(--space-6));
  border: var(--border-width) solid var(--color-warning-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.request__head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.request__who {
  display: grid;
  flex: 1;
  gap: var(--space-1);
  min-width: 0;
}

.request__title {
  line-height: var(--leading-snug);
  overflow-wrap: anywhere;
}

.request__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1) var(--space-2);
  color: var(--color-ink-muted);
  font-size: var(--text-sm);
}

.request__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.request__actions {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-width) solid var(--color-border);
}

.history {
  display: grid;
}

.history .request,
.request--done {
  padding: var(--space-4) 0;
  border: 0;
  border-top: var(--border-width) solid var(--color-border);
  border-radius: 0;
  box-shadow: none;
}

.history .request:first-child {
  padding-top: 0;
  border-top: 0;
}

.history .request:last-child {
  padding-bottom: 0;
}

.card-grid > .request--done {
  padding: clamp(var(--space-5), 4vw, var(--space-6));
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-lg);
}

.points {
  border-color: var(--color-warning-border);
  background: var(--color-warning-soft);
}

.points__summary {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.points__icon {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: var(--icon-tile);
  height: var(--icon-tile);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  color: var(--color-warning);
}

.points .chip--button {
  background: var(--color-surface);
}

.points__adjust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.points__set[open] {
  flex-basis: 100%;
}

.points__set .inline-add {
  padding-top: var(--space-2);
}

.streak {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

.streak__day {
  display: grid;
  justify-items: center;
  gap: var(--space-1);
  min-width: 0;
  padding: var(--space-3) 0;
  border-radius: var(--radius-md);
  background: var(--color-surface);
  font-size: var(--text-xs);
}

.streak__mark {
  display: inline-grid;
  place-items: center;
  width: var(--avatar-sm);
  height: var(--avatar-sm);
  border-radius: var(--radius-full);
  background: var(--color-field-fill);
  color: var(--color-ink-subtle);
}

.streak__day--achieved .streak__mark {
  background: var(--color-success);
  color: var(--color-surface);
}

.streak__day--on_track .streak__mark {
  background: var(--color-success-soft);
  color: var(--color-success);
}

.streak__day--missed .streak__mark,
.streak__day--exceeded .streak__mark {
  background: var(--color-danger-soft);
  color: var(--color-danger);
}

.streak__name {
  color: var(--color-ink-muted);
  font-weight: var(--weight-semibold);
}

.streak__points {
  color: var(--color-ink-secondary);
  font-variant-numeric: tabular-nums;
}

.reward-form {
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-width) solid var(--color-border);
}
