/* Confirm analysis (ui.md): one scrolling page of groups, mobile-first. AI items carry the AI
   badge and a violet edge; each item's state is in its label text, and colour only
   reinforces it. The Generate-draft footer sticks to the bottom of the screen. */

.confirm {
  display: grid;
  gap: var(--space-6);
  padding-bottom: var(--space-6);
}

.confirm-section__title {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0 0 var(--space-2);
  padding: var(--space-2) 0;
  background: var(--color-bg);
  font-size: var(--text-xl);
}

.confirm-risk {
  border-color: var(--color-danger);
  background: var(--color-danger-bg);
}

.confirm-risk .card__header .icon {
  color: var(--color-danger);
}

.item-list {
  display: grid;
  gap: var(--space-3);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}

.item {
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.item--ai {
  border-left: 4px solid var(--color-ai);
  background: var(--color-ai-bg);
}

.item[data-state="confirmed"],
.item[data-state="acknowledged"],
.item[data-state="answered"] {
  border-left: 4px solid var(--color-success);
  background: var(--color-surface);
}

.item[data-state="rejected"],
.item[data-state="removed"],
.item[data-state="dismissed"] {
  border-left: 4px solid var(--color-border-strong);
  background: var(--color-surface-2);
  color: var(--color-text-muted);
}

.item[data-state="removed"] .item__content {
  text-decoration: line-through;
}

.item__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

.item__title {
  flex: 1 1 12rem;
  margin: 0;
  font-size: var(--text-base);
}

.item__state:empty {
  display: none;
}

.item p {
  margin: 0 0 var(--space-2);
}

.item__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

/* A decision already made needs no button for itself; the other one stays to change it. */
.item[data-state="confirmed"] [data-action="confirm"],
.item[data-state="rejected"] [data-action="reject"] {
  display: none;
}

.item__inline {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
}

.item__inline .select {
  width: auto;
}

.item__edit,
.item__quote {
  margin-top: var(--space-1);
}

.item__edit > summary,
.item__quote > summary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  min-height: var(--touch-target);
  color: var(--color-primary);
  font-weight: var(--weight-medium);
  cursor: pointer;
}

.quote {
  margin: var(--space-2) 0;
  padding: var(--space-2) var(--space-3);
  border-left: 3px solid var(--color-border-strong);
  background: var(--color-surface);
  font-style: italic;
  white-space: pre-wrap;
}

.empty-inline {
  color: var(--color-text-muted);
}

.type-choice {
  display: grid;
  gap: var(--space-2);
}

.type-choice__option {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: var(--touch-target);
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  cursor: pointer;
}

.type-choice__option:has(input:checked) {
  border: 2px solid var(--color-primary);
}

.type-choice__option input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--color-primary);
}

.type-choice__text {
  display: grid;
  gap: var(--space-1);
}

.type-choice__name {
  font-weight: var(--weight-semibold);
}

.type-choice__use {
  font-size: var(--text-sm);
}

.confirm-footer {
  position: sticky;
  bottom: calc(var(--bottombar-height) + var(--space-2));
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-2);
}

.confirm-footer__reason,
.confirm-footer__status {
  flex: 1 1 14rem;
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.manual-form .icon {
  margin-right: var(--space-1);
}

.manual-form__form {
  max-width: 32rem;
}

@media (min-width: 1024px) {
  .confirm-footer {
    bottom: var(--space-4);
  }
}
