/* «الكتابة الفعلية في Nexa» (screens/settings_real_writes.js; the approved Demo's `.rwact`, `.lockrow`, `.wline`): the owner's screen.
   Its parts stand a gap apart on the window's margin; the state is a block of rows that carry their own margins; an action is a
   block of its own with its button under its lines, never touching them. Every value is a token (tokens/). */
.rw {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-gap);
  padding-block: var(--spacing-gap) var(--spacing-xl);
}

.rw > .oneline,
.rw > .wline,
.rw > .hubl {
  margin: 0;
  padding-inline: var(--spacing-window);
}

.rw > .wline {
  margin-inline: var(--spacing-window);
  padding-inline: var(--spacing-sm);
}

.rw > .gblock {
  margin-top: 0;
}

/* the state and the waiting decision hold rows that carry their own window margin */
.rw .rwstate,
.rw .rwpending {
  gap: 0;
  padding: 0;
}

.rw .rwpending .wblock {
  gap: var(--spacing-gap);
  padding-inline: var(--spacing-window);
}

.rw .rwpending [data-part="kv"] {
  padding-inline: 0;
  border-bottom: 0;
}

.rw .rwpending .mbtn,
.rw .rwact .mbtn {
  width: auto;
  align-self: flex-start;
  padding-inline: var(--spacing-md);
}

.rw .glist {
  display: flex;
  flex-direction: column;
}

.rw .rwact {
  gap: var(--spacing-sm);
}

.rw .rwact b {
  font-size: var(--font-size-sm);
  font-weight: 800;
}

.rw .rwact .fline {
  margin-top: var(--spacing-sm);
}
