/* /admin/links «الأمثلة الإضافية» (Tasks 1.4i and 1.4n). Right to left first: logical properties only. Colours and sizes
   come from tokens.css only. */

links-page {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.lk-head .lead {
  margin-block-end: var(--space-3);
}

.lk-summary {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--font-size-small);
}

/* the rows students can't practise now, and a row's own warning: the draft colours, which read in both modes */
.lk-warning,
.lk-alert {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  border-inline-start: 3px solid var(--color-draft);
  border-radius: var(--radius);
  background: var(--color-draft-soft);
  color: var(--color-draft);
}

.lk-warning {
  margin-block-start: var(--space-2);
}

/* the subskills students see on their own: a box that opens */
.lk-standalone {
  margin-block-start: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}

.lk-standalone > summary {
  cursor: pointer;
}

.lk-standalone > summary:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.lk-standalone .lk-note {
  margin-block: var(--space-2);
}

.lk-standalone-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.lk-standalone-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.lk-head .notice {
  margin-block-start: var(--space-3);
}

/* «المجال» and «بحث», and how many rows match */
.lk-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-3) var(--space-4);
  padding-block: var(--space-4);
}

.lk-field {
  flex: 1 1 14rem;
}

.lk-search {
  flex: 2 1 16rem;
}

.lk-count {
  flex-basis: 100%;
  margin: 0;
  color: var(--color-muted);
  font-size: var(--font-size-small);
}

.lk-count:empty {
  display: none;
}

.lk-groups {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.lk-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.lk-group-title {
  margin: 0;
  color: var(--color-text);
  font-size: var(--font-size-card-title);
  font-weight: 700;
}

.lk-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.lk-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.lk-row[aria-busy="true"] {
  opacity: 0.6;
}

/* the links, the picker and the message, beside what practice gets (on a wide screen: links at the start) */
.lk-body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-4) var(--space-5);
}

.lk-main {
  display: flex;
  flex: 1 1 24rem;
  flex-direction: column;
  gap: var(--space-3);
  min-inline-size: 0;
}

.lk-facts {
  display: flex;
  flex: 0 1 25rem;
  flex-direction: column;
  gap: var(--space-2);
  min-inline-size: 0;
}

.lk-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2) var(--space-3);
}

.lk-title h3 {
  margin: 0;
  font-size: var(--font-size-card-title);
}

.lk-questions {
  color: var(--color-link);
  font-size: var(--font-size-small);
  white-space: nowrap;
}

.lk-questions:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

/* what practice gives at each level */
.lk-pool {
  inline-size: 100%;
  max-inline-size: 34rem;
  border-collapse: collapse;
  font-size: var(--font-size-small);
  font-variant-numeric: tabular-nums;
}

.lk-pool caption {
  padding-block-end: var(--space-1);
  color: var(--color-muted);
  text-align: start;
}

.lk-pool th,
.lk-pool td {
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--color-border);
  text-align: center;
}

.lk-pool thead th,
.lk-pool tbody th {
  background: var(--color-raised);
  color: var(--color-quiet);
  font-weight: 400;
}

.lk-pool tbody th {
  text-align: start;
  white-space: nowrap;
}

.lk-pool .lk-pool-total {
  font-weight: 700;
}

.lk-pool td.is-zero {
  background: var(--color-draft-soft);
  color: var(--color-draft);
  font-weight: 700;
}

.lk-note {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--font-size-small);
}

.lk-none {
  margin: 0;
  color: var(--color-muted);
}

/* the row's links: a number, the name over where it is and its count, and its «خيارات» */
.lk-chips {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.lk-chip {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  background: var(--color-info-soft);
}

.lk-chip-n {
  flex: none;
  min-inline-size: 1.5rem;
  color: var(--color-muted);
  text-align: center;
}

.lk-chip-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-inline-size: 0;
}

.lk-chip-name {
  overflow-wrap: anywhere;
}

.lk-chip-meta {
  color: var(--color-muted);
  font-size: var(--font-size-small);
  overflow-wrap: anywhere;
}

.lk-nowrap {
  white-space: nowrap;
}

.lk-chip .am {
  flex: none;
}

.lk-add {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.lk-add select {
  flex: 1 1 14rem;
  min-inline-size: 0;
}

/* a change that would change what students see: said in the row, with its two buttons */
.lk-confirm {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-draft);
  border-radius: var(--radius);
  background: var(--color-draft-soft);
}

.lk-confirm-title {
  margin: 0;
  font-weight: 700;
}

.lk-confirm-list {
  margin: 0;
  padding-inline-start: var(--space-5);
}

.lk-confirm-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

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

.lk-undo {
  min-block-size: calc(var(--control-height) - var(--space-2));
}

@media (max-width: 40rem) {
  .lk-chip {
    gap: var(--space-2);
    padding-inline: var(--space-2);
  }

  .lk-chip-n {
    min-inline-size: 1rem;
  }

  .lk-pool th,
  .lk-pool td {
    padding-inline: var(--space-1);
  }
}
