.module-state {
  display: grid;
  min-height: 160px;
  place-items: center;
  padding: var(--space-6);
  color: var(--color-text-muted);
  text-align: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.module-state[data-state="error"] {
  color: var(--color-danger);
  background: var(--color-danger-soft);
  border-color: var(--color-danger);
}

.status,
.badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: var(--space-1) var(--space-2);
  color: var(--color-status);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: var(--line-compact);
  background: var(--color-status-soft);
  border-radius: var(--radius-sm);
}

.status[data-tone="warning"],
.badge[data-tone="warning"] {
  color: var(--color-warning);
  background: var(--color-warning-soft);
}

.status[data-tone="danger"],
.badge[data-tone="danger"] {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}

button,
.button,
input,
select,
textarea {
  min-height: 36px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
}

button,
.button {
  padding: var(--space-2) var(--space-3);
  color: var(--color-text-on-shell);
  font-weight: 700;
  background: var(--color-shell);
  cursor: pointer;
}

input,
select,
textarea {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  color: var(--color-text);
  background: var(--color-surface);
}

.table-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

th,
td {
  padding: var(--space-2) var(--space-3);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--color-border);
}

th {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  background: var(--color-surface-muted);
}

dialog.admin-dialog {
  position: fixed;
  inset: 50% auto auto 50%;
  width: min(640px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: 0;
  padding: var(--space-6);
  overflow: auto;
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-dialog);
  transform: translate(-50%, -50%);
}

dialog.admin-dialog::backdrop {
  background: rgb(11 45 39 / 58%);
}

.admin-dialog__form,
.admin-dialog__body {
  display: grid;
  gap: var(--space-4);
}

.admin-dialog__title,
.admin-dialog__message,
.admin-dialog__action-status {
  margin: 0;
}

.admin-dialog__title {
  font-size: var(--text-xl);
  line-height: var(--line-compact);
}

.admin-dialog__message,
.admin-dialog__action-status {
  color: var(--color-text-muted);
}

.admin-dialog__field {
  display: grid;
  gap: var(--space-2);
}

.admin-dialog__label {
  font-weight: 700;
}

.admin-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
  padding-top: var(--space-2);
}

.admin-dialog__one-time-result {
  max-height: min(320px, 45dvh);
  margin: 0;
  padding: var(--space-3);
  overflow: auto;
  color: var(--color-text);
  font-family: var(--font-mono);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--color-surface-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
}

.button--secondary {
  color: var(--color-text);
  background: var(--color-surface);
}

.button--danger {
  background: var(--color-danger);
  border-color: var(--color-danger);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

@media (max-width: 760px) {
  button,
  .button,
  input,
  select,
  textarea {
    min-height: 44px;
  }

  dialog.admin-dialog {
    width: calc(100% - 16px);
    max-height: calc(100dvh - 16px);
    padding: var(--space-4);
  }

  .admin-dialog__actions > button {
    flex: 1 1 auto;
  }
}
