/* ── LERF confirm page ─────────────────────────────────────── */
.lerf-confirm-notice {
  background: var(--warning-bg);
  border-radius: var(--md-sys-shape-corner-medium);
  padding: 1rem;
  margin-bottom: 1.5rem;
  font: var(--md-sys-typescale-body-medium);
  letter-spacing: var(--md-sys-typescale-body-medium-tracking);
  color: var(--warning-dark);
}

.lerf-confirm-notice strong { display: block; margin-bottom: 0.35rem; font-weight: 500; }
.lerf-confirm-notice ul { margin: 0; padding-left: 1.2rem; }
.lerf-confirm-notice li { margin-bottom: 0.2rem; }

.lerf-confirm-total-label {
  text-align: right;
  font: var(--md-sys-typescale-title-small);
  letter-spacing: var(--md-sys-typescale-title-small-tracking);
  color: var(--md-sys-color-on-surface-variant);
  padding-top: 0.75rem !important;
}

.lerf-confirm-total {
  font: var(--md-sys-typescale-title-medium);
  letter-spacing: var(--md-sys-typescale-title-medium-tracking);
  font-variant-numeric: tabular-nums;
  color: var(--md-sys-color-on-surface);
  border-top: 1px solid var(--md-sys-color-outline-variant);
  padding-top: 0.75rem !important;
}

.lerf-confirm-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--md-sys-color-outline-variant);
}

.project-meta {
  font: var(--md-sys-typescale-body-medium);
  letter-spacing: var(--md-sys-typescale-body-medium-tracking);
  color: var(--md-sys-color-on-surface-variant);
  margin-top: 0.25rem;
}

/* ── LERF Builder ──────────────────────────────────────────── */
.lerf-builder-filter {
  margin-bottom: 1.25rem;
}

.data-table .col-checkbox {
  width: 2.5rem;
  text-align: center;
  padding-left: 0.5rem;
  padding-right: 0.25rem;
}

.data-table .col-checkbox input[type="checkbox"] {
  margin: 0;
  cursor: pointer;
}

.lerf-select-all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font: var(--md-sys-typescale-label-large);
  letter-spacing: var(--md-sys-typescale-label-large-tracking);
  color: var(--md-sys-color-on-surface-variant);
  cursor: pointer;
}

.lerf-select-all input[type="checkbox"] {
  margin: 0;
}

/* Sticky action bar: a raised surface so it reads as floating over the
   table rows that scroll beneath it. */
.lerf-builder-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--md-sys-color-surface-container);
  border: none;
  border-radius: var(--md-sys-shape-corner-large);
  position: sticky;
  bottom: 0.75rem;
  box-shadow: var(--md-sys-elevation-level2);
}

.lerf-builder-totals {
  font: var(--md-sys-typescale-body-medium);
  letter-spacing: var(--md-sys-typescale-body-medium-tracking);
  color: var(--md-sys-color-on-surface);
}

.lerf-builder-totals strong {
  font: var(--md-sys-typescale-title-medium);
  letter-spacing: var(--md-sys-typescale-title-medium-tracking);
  margin-left: 0.25rem;
}


/* LERF Builder warning — collapsible details block */
.lerf-warning {
  background: var(--warning-bg);
  border: none;
  border-radius: var(--md-sys-shape-corner-medium);
  margin-bottom: 1rem;
  font: var(--md-sys-typescale-body-medium);
  letter-spacing: var(--md-sys-typescale-body-medium-tracking);
  color: var(--warning-dark);
}

/* Informational variant: neutral filled card, so a non-blocking note stays
   subordinate to the amber blockers. */
.lerf-warning--info {
  background: var(--md-sys-color-surface-container-high);
  color: var(--md-sys-color-on-surface-variant);
}

.lerf-warning--info .lerf-warning-icon,
.lerf-warning--info .lerf-warning-text strong {
  color: var(--md-sys-color-on-surface);
}

.lerf-warning-summary {
  list-style: none;
  cursor: pointer;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  user-select: none;
  border-radius: var(--md-sys-shape-corner-medium);
  transition: background-color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
}

.lerf-warning-summary:hover {
  background-color: color-mix(in srgb, currentColor 8%, transparent);
}

.lerf-warning-summary::-webkit-details-marker { display: none; }
.lerf-warning-summary::marker { content: ""; }

/* 18dp, so the list below (indented 2.85rem) lines up with the summary text. */
.lerf-warning-icon {
  display: flex;
  color: var(--warning);
  flex-shrink: 0;
}
.lerf-warning-icon .icon { width: 18px; height: 18px; vertical-align: 0; }

.lerf-warning-text {
  flex: 1;
}

.lerf-warning-text strong {
  font-weight: 500;
  color: var(--warning-dark);
}

.lerf-warning-toggle {
  font: var(--md-sys-typescale-label-medium);
  letter-spacing: var(--md-sys-typescale-label-medium-tracking);
  color: var(--md-sys-color-on-surface-variant);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.lerf-warning-toggle::after {
  content: "";
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--md-icon-expand-more) center / contain no-repeat;
  mask: var(--md-icon-expand-more) center / contain no-repeat;
  transition: transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
}

.lerf-warning[open] .lerf-warning-toggle {
  color: var(--md-sys-color-on-surface);
}

.lerf-warning[open] .lerf-warning-toggle::after {
  transform: rotate(180deg);
}

.lerf-warning-list {
  margin: 0;
  padding: 0 1rem 0.85rem 2.85rem;
  list-style: disc;
}

.lerf-warning-list li {
  padding: 0.15rem 0;
}

.lerf-warning-hint {
  margin: 0;
  padding: 0 1rem 0.5rem 2.85rem;
  font: var(--md-sys-typescale-body-small);
  letter-spacing: var(--md-sys-typescale-body-small-tracking);
  color: var(--md-sys-color-on-surface-variant);
}

.lerf-record-link {
  font-weight: 500;
  color: var(--md-sys-color-on-surface);
  text-decoration: none;
}

.lerf-record-link::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 0.2rem;
  vertical-align: -2px;
  background-color: currentColor;
  -webkit-mask: var(--md-icon-open-in-new) center / contain no-repeat;
  mask: var(--md-icon-open-in-new) center / contain no-repeat;
}

.lerf-record-link:hover,
.lerf-record-link:focus-visible {
  color: var(--md-sys-color-primary);
  text-decoration: underline;
}

