/* =============================================================================
   Litigation Desk Licensing — public claim form
   ----------------------------------------------------------------------------
   Editorial aesthetic mirroring the desktop app:
     • Fraunces display serif for headers + display elements
     • Switzer-like sans for body / form (system stack fallback)
     • JetBrains Mono with tabular nums for serials, license keys, postal
     • Rust eyebrow (§ Litigation Desk) anchors the masthead
     • Mono-cap legend numbering (01 / 02 / 03) for fieldsets
     • Generous whitespace, single-column with internal grid
     • Self-contained — uses no theme variables; lives anywhere
   ============================================================================= */

.litdesk-license-panel,
.litdesk-license-panel * {
  box-sizing: border-box;
}

.litdesk-license-panel {
  --litdesk-rust:        #884231;
  --litdesk-rust-deep:   #6F3525;
  --litdesk-rust-tint:   rgba(136, 66, 49, 0.08);
  --litdesk-paper:       #FAF7F2;
  --litdesk-paper-deep:  #F4EFE6;
  --litdesk-card:        #FFFFFF;
  --litdesk-ink:         #1D1B19;
  --litdesk-ink-2:       #4A4641;
  --litdesk-ink-3:       #6B6864;
  --litdesk-ink-4:       #9C9893;
  --litdesk-line:        rgba(29, 27, 25, 0.10);
  --litdesk-line-soft:   rgba(29, 27, 25, 0.18);
  --litdesk-success:     #1F5F24;
  --litdesk-success-bg:  #E8F4EA;
  --litdesk-danger:      #B12A1B;
  --litdesk-danger-bg:   #FAEBE8;
  --litdesk-display:     'Fraunces', 'Iowan Old Style', 'Palatino', 'Georgia', serif;
  --litdesk-body:        'Switzer', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --litdesk-mono:        'JetBrains Mono', ui-monospace, 'SF Mono', 'Menlo', 'Consolas', monospace;

  max-width: 760px;
  margin: 2rem auto;
  padding: 2rem 2.25rem 2.25rem;
  background: var(--litdesk-card);
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 12px 40px -12px rgba(0, 0, 0, 0.08);
  font-family: var(--litdesk-body);
  color: var(--litdesk-ink);
  line-height: 1.5;
}

/* -- Masthead --------------------------------------------------------- */

.litdesk-license-panel__header {
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--litdesk-line);
}

.litdesk-license-panel__eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 0.5rem;
}

.litdesk-license-panel__heading {
  margin: 0 0 0.5rem 0 !important;
  font-family: var(--litdesk-display);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--litdesk-ink);
  line-height: 1.1;
}

.litdesk-license-panel__lede {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 1.0625rem;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
  max-width: 56ch;
}

/* -- Alert (form-level error) ---------------------------------------- */

.litdesk-license-panel__alert {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 1.5rem;
  padding: 0.875rem 1.125rem;
  background: var(--litdesk-danger-bg);
  border-left: 3px solid var(--litdesk-danger);
  border-radius: 0 3px 3px 0;
}
.litdesk-license-panel__alert-prefix {
  font-family: var(--litdesk-mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--litdesk-danger);
}
.litdesk-license-panel__alert-message {
  font-family: var(--litdesk-display);
  font-size: 0.9375rem;
  color: var(--litdesk-ink);
  line-height: 1.5;
}

/* -- Form ------------------------------------------------------------- */

.litdesk-license-form__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 2rem 0;
}

.litdesk-license-form__legend {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  width: 100%;
  margin: 0 0 1.25rem 0;
  padding: 0;
  border-bottom: 1px solid var(--litdesk-line);
  padding-bottom: 0.625rem;
}

.litdesk-license-form__legend-num {
  font-family: var(--litdesk-mono);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--litdesk-rust);
}

.litdesk-license-form__legend-text {
  font-family: var(--litdesk-display);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.005em;
}

.litdesk-license-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.25rem;
}
@media (max-width: 540px) {
  .litdesk-license-form__grid { grid-template-columns: 1fr; }
}

.litdesk-license-form__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.litdesk-license-form__field--full {
  grid-column: 1 / -1;
}

.litdesk-license-form__label {
  font-family: var(--litdesk-mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}

.litdesk-license-form__required {
  color: var(--litdesk-rust);
  margin-left: 4px;
}

.litdesk-license-form__input {
  width: 100%;
  padding: 0.625rem 0.75rem;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  font-family: inherit;
  font-size: 0.9375rem;
  color: var(--litdesk-ink);
  transition: border-color 150ms, box-shadow 150ms, background 150ms;
}
.litdesk-license-form__input--mono {
  font-family: var(--litdesk-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}
.litdesk-license-form__input:focus {
  outline: none;
  background: var(--litdesk-card);
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 3px var(--litdesk-rust-tint);
}
.litdesk-license-form__input::placeholder {
  color: var(--litdesk-ink-4);
  font-style: italic;
}

.litdesk-license-form__hint {
  font-family: var(--litdesk-display);
  font-size: 0.8125rem;
  font-style: italic;
  color: var(--litdesk-ink-4);
  line-height: 1.4;
}

/* -- Submit row ------------------------------------------------------- */

.litdesk-license-form__submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--litdesk-line);
  margin-top: 0.5rem;
}
@media (max-width: 540px) {
  .litdesk-license-form__submit-row {
    flex-direction: column;
    align-items: stretch;
  }
}

.litdesk-license-form__legalese {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 0.8125rem;
  font-style: italic;
  color: var(--litdesk-ink-4);
  line-height: 1.4;
  max-width: 50ch;
}

.litdesk-license-form__submit {
  flex-shrink: 0;
  padding: 0.75rem 1.75rem;
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
  border-radius: 3px;
  font-family: var(--litdesk-body);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 150ms, border-color 150ms;
}
.litdesk-license-form__submit:hover,
.litdesk-license-form__submit:focus-visible {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
  outline: none;
}

/* -- Success panel ---------------------------------------------------- */

.litdesk-license-panel__success {
  text-align: left;
}

.litdesk-license-panel__key-block {
  margin: 1.25rem 0;
  padding: 1rem 1.125rem;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 3px 3px 0;
}
.litdesk-license-panel__key-block--secondary {
  border-left-color: var(--litdesk-ink-4);
}

.litdesk-license-panel__key-label {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  margin-bottom: 6px;
}

.litdesk-license-panel__key {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 1.125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
  color: var(--litdesk-ink);
  word-break: break-all;
}
.litdesk-license-panel__key--mono {
  font-size: 1rem;
  color: var(--litdesk-ink-2);
}

.litdesk-license-panel__hint {
  margin: 1.5rem 0 0 0 !important;
  font-family: var(--litdesk-display);
  font-size: 0.9375rem;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
}
.litdesk-license-panel__hint em {
  font-style: normal;
  font-family: var(--litdesk-mono);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  background: var(--litdesk-paper-deep);
  border: 1px solid var(--litdesk-line);
  padding: 1px 6px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
}

/* =============================================================================
   Litigation Desk Licensing — admin pages
   ----------------------------------------------------------------------------
   Lighter touches than the public form: WP-native chrome handles tables
   and notices; we add a brand masthead, status pills, and stat cards.
   ============================================================================= */

.litdesk-admin {
  --litdesk-rust:        #884231;
  --litdesk-rust-deep:   #6F3525;
  --litdesk-rust-tint:   rgba(136, 66, 49, 0.10);
  --litdesk-paper:       #FAF7F2;
  --litdesk-paper-deep:  #F4EFE6;
  --litdesk-ink:         #1D1B19;
  --litdesk-ink-3:       #6B6864;
  --litdesk-ink-4:       #9C9893;
  --litdesk-line:        rgba(29, 27, 25, 0.10);
  --litdesk-success:     #1F5F24;
  --litdesk-success-bg:  #E8F4EA;
  --litdesk-warning:     #8A6600;
  --litdesk-warning-bg:  #FAEBD0;
  --litdesk-info:        #1F4E79;
  --litdesk-info-bg:     #E6EFF7;
  --litdesk-danger:      #B12A1B;
  --litdesk-danger-bg:   #FAEBE8;
  --litdesk-display:     'Fraunces', 'Iowan Old Style', 'Palatino', 'Georgia', serif;
  --litdesk-mono:        'JetBrains Mono', ui-monospace, 'SF Mono', 'Menlo', 'Consolas', monospace;
}

.litdesk-admin__masthead {
  margin: 0 0 24px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid var(--litdesk-line);
}

.litdesk-admin__eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 6px;
}

.litdesk-admin__heading {
  font-family: var(--litdesk-display) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em;
  color: var(--litdesk-ink) !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

.litdesk-admin__lede {
  font-family: var(--litdesk-display) !important;
  font-size: 15px !important;
  font-style: italic !important;
  color: var(--litdesk-ink-3) !important;
  line-height: 1.5 !important;
  max-width: 64ch;
  margin: 0 !important;
}
.litdesk-admin__lede code {
  font-family: var(--litdesk-mono);
  font-size: 13px;
  font-style: normal;
  background: var(--litdesk-paper-deep);
  padding: 1px 6px;
  border-radius: 2px;
  border: 1px solid var(--litdesk-line);
  color: var(--litdesk-ink);
}

/* -- Stats cards ---------------------------------------------------- */

.litdesk-admin__stats {
  display: flex;
  gap: 12px;
  margin: 0 0 20px 0;
  flex-wrap: wrap;
}

.litdesk-admin__stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px 20px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-left: 3px solid var(--litdesk-ink);
  border-radius: 3px;
  min-width: 100px;
}
.litdesk-admin__stat--success { border-left-color: var(--litdesk-success); }
.litdesk-admin__stat--warn    { border-left-color: var(--litdesk-warning); }
.litdesk-admin__stat--danger  { border-left-color: var(--litdesk-danger); }

.litdesk-admin__stat-value {
  font-family: var(--litdesk-mono);
  font-size: 24px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--litdesk-ink);
  line-height: 1;
}

.litdesk-admin__stat-label {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  margin-top: 6px;
}

/* -- Action row above tables -------------------------------------- */

.litdesk-admin__action-row {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin: 0 0 16px 0;
  padding: 14px 16px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  flex-wrap: wrap;
}

.litdesk-admin__inline-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.litdesk-admin__inline-field span {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}

/* -- Tables -------------------------------------------------------- */

.litdesk-admin__table {
  margin-top: 8px;
}

.litdesk-admin__mono {
  font-family: var(--litdesk-mono);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--litdesk-ink);
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-radius: 2px;
  padding: 2px 6px;
  display: inline-block;
}
.litdesk-admin__mono--key {
  background: var(--litdesk-rust-tint);
  border-color: rgba(136, 66, 49, 0.2);
  color: var(--litdesk-rust-deep);
  font-weight: 600;
}

.litdesk-admin__muted {
  color: var(--litdesk-ink-3);
  font-size: 13px;
}

.litdesk-admin__empty {
  text-align: center;
  padding: 32px !important;
  color: var(--litdesk-ink-3);
  font-family: var(--litdesk-display);
  font-size: 15px;
}

/* -- Status pills -------------------------------------------------- */

.litdesk-admin__status-pill,
.litdesk-admin__channel-pill {
  display: inline-grid;
  place-items: center;
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid;
  white-space: nowrap;
}

.litdesk-admin__status-pill.is-claimed,
.litdesk-admin__status-pill.is-active {
  background: var(--litdesk-success-bg);
  color: var(--litdesk-success);
  border-color: rgba(31, 95, 36, 0.25);
}
.litdesk-admin__status-pill.is-unclaimed {
  background: var(--litdesk-warning-bg);
  color: var(--litdesk-warning);
  border-color: rgba(138, 102, 0, 0.25);
}
.litdesk-admin__status-pill.is-revoked {
  background: var(--litdesk-danger-bg);
  color: var(--litdesk-danger);
  border-color: rgba(177, 42, 27, 0.2);
}

.litdesk-admin__channel-pill.is-release {
  background: var(--litdesk-info-bg);
  color: var(--litdesk-info);
  border-color: rgba(31, 78, 121, 0.25);
}
.litdesk-admin__channel-pill.is-beta {
  background: var(--litdesk-warning-bg);
  color: var(--litdesk-warning);
  border-color: rgba(138, 102, 0, 0.25);
}
.litdesk-admin__channel-pill.is-alpha,
.litdesk-admin__channel-pill.is-dev {
  background: var(--litdesk-paper-deep);
  color: var(--litdesk-ink-3);
  border-color: var(--litdesk-line);
}

/* -- Row actions -------------------------------------------------- */

.litdesk-admin__row-actions form { padding: 0; }
.litdesk-admin__row-actions .button-link {
  font-size: 12px !important;
}
.litdesk-admin__danger-link {
  color: var(--litdesk-danger) !important;
}

/* -- Settings cards ---------------------------------------------- */

.litdesk-admin__settings-card {
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 18px 22px 20px;
  margin: 0 0 20px 0;
  max-width: 800px;
}
.litdesk-admin__settings-card h2 {
  font-family: var(--litdesk-display) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  color: var(--litdesk-ink) !important;
}
.litdesk-admin__settings-card p {
  margin: 0 0 12px 0 !important;
}

.litdesk-admin__token-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.litdesk-admin__token-value {
  flex: 1;
  font-size: 14px !important;
  padding: 8px 12px !important;
  word-break: break-all;
  letter-spacing: 0.02em !important;
}

.litdesk-admin__endpoints {
  width: 100%;
  border-collapse: collapse;
}
.litdesk-admin__endpoints td {
  padding: 6px 12px 6px 0;
  vertical-align: top;
  font-size: 13px;
}
.litdesk-admin__endpoints td:first-child { width: 60px; }

/* -- Pagination -------------------------------------------------- */

.litdesk-admin__pagination {
  margin-top: 16px;
  text-align: right;
}

/* =============================================================================
   Licenses page — v1.1 expandable cards with installs nested
   ============================================================================= */

.litdesk-license-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.litdesk-license-card {
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 150ms;
}
.litdesk-license-card:hover { border-color: rgba(29, 27, 25, 0.18); }
.litdesk-license-card.is-revoked {
  background: #FAEBE810;
  border-color: rgba(177, 42, 27, 0.25);
}

/* -- Card header (key + status + seat pips) ------------------------- */

.litdesk-license-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  background: var(--litdesk-paper);
  border-bottom: 1px solid var(--litdesk-line);
  flex-wrap: wrap;
}

.litdesk-license-card__title-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.litdesk-license-card__eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}

.litdesk-license-card__key {
  font-family: var(--litdesk-mono);
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--litdesk-ink);
  background: transparent;
  padding: 0;
  border: none;
  word-break: break-all;
}

.litdesk-license-card__serial {
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  margin-top: 2px;
}
.litdesk-license-card__serial code {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-style: normal;
  background: white;
  border: 1px solid var(--litdesk-line);
  padding: 1px 5px;
  border-radius: 2px;
}

.litdesk-license-card__status-block {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* -- Seat pips (●●○ visual) ------------------------------------------ */

.litdesk-seat-pips {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 999px;
}

.litdesk-seat-pip {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: white;
  border: 1.5px solid var(--litdesk-ink-4);
  transition: background 150ms, border-color 150ms;
}
.litdesk-seat-pip.is-filled {
  background: var(--litdesk-rust);
  border-color: var(--litdesk-rust);
}

.litdesk-seat-pips__count {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--litdesk-ink-3);
  letter-spacing: 0.04em;
  margin-left: 4px;
}

/* -- Card body (licensee + firm + dates) ---------------------------- */

.litdesk-license-card__body {
  padding: 14px 18px 4px;
}

.litdesk-license-card__meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0;
}
@media (max-width: 720px) {
  .litdesk-license-card__meta { grid-template-columns: 1fr; }
}

.litdesk-license-card__meta > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.litdesk-license-card__meta dt {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-4);
  margin: 0;
}

.litdesk-license-card__meta dd {
  margin: 0;
  font-size: 13px;
  color: var(--litdesk-ink);
  line-height: 1.4;
}
.litdesk-license-card__meta dd a {
  text-decoration: none;
}

/* -- Installs section ---------------------------------------------- */

.litdesk-license-card__installs {
  padding: 14px 18px 18px;
  border-top: 1px solid var(--litdesk-line);
  margin-top: 10px;
  background: var(--litdesk-paper);
}

.litdesk-license-card__installs-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}

.litdesk-license-card__installs-header h3 {
  font-family: var(--litdesk-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--litdesk-ink) !important;
}

.litdesk-license-card__installs-count {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--litdesk-ink-3);
}

.litdesk-license-card__no-installs {
  margin: 0 !important;
  padding: 14px 16px;
  background: white;
  border: 1px dashed var(--litdesk-line);
  border-radius: 3px;
  text-align: center;
  font-family: var(--litdesk-display);
  font-style: italic;
  color: var(--litdesk-ink-3);
  font-size: 13px;
}

/* -- Install row ---------------------------------------------------- */

.litdesk-install-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.litdesk-install-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  border-left: 3px solid var(--litdesk-success);
  transition: border-left-color 150ms;
}
.litdesk-install-row.is-revoked {
  border-left-color: var(--litdesk-ink-4);
  opacity: 0.65;
}

.litdesk-install-row__icon {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  color: var(--litdesk-ink-3);
  flex-shrink: 0;
}

.litdesk-install-row__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.litdesk-install-row__label {
  font-family: var(--litdesk-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--litdesk-ink);
}

.litdesk-install-row__meta {
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.4;
}

.litdesk-install-row__fp {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  color: var(--litdesk-ink-4);
  background: var(--litdesk-paper);
  padding: 1px 5px;
  border-radius: 2px;
  align-self: flex-start;
  margin-top: 2px;
  border: 1px solid var(--litdesk-line);
}

.litdesk-install-row__actions form {
  margin: 0;
}

.litdesk-install-row__btn {
  background: white;
  color: var(--litdesk-danger);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 4px 12px;
  font-family: var(--litdesk-body);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 150ms, background 150ms;
}
.litdesk-install-row__btn:hover {
  border-color: var(--litdesk-danger);
  background: var(--litdesk-danger-bg);
}

.litdesk-admin__status-pill--small {
  font-size: 9px !important;
  padding: 2px 6px !important;
}

/* -- Override actions (add seat / revoke license) -------------------- */

.litdesk-license-card__overrides {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--litdesk-line);
  flex-wrap: wrap;
}

.litdesk-license-card__override-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 280px;
}

.litdesk-license-card__reason-input {
  flex: 1;
  padding: 6px 10px;
  background: white;
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  font-family: var(--litdesk-body);
  font-size: 13px;
  color: var(--litdesk-ink);
}
.litdesk-license-card__reason-input:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
}

.litdesk-license-card__override-btn {
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
  border-radius: 3px;
  padding: 6px 14px;
  font-family: var(--litdesk-body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 150ms;
  white-space: nowrap;
}
.litdesk-license-card__override-btn:hover:not(:disabled) {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
}
.litdesk-license-card__override-btn:disabled {
  background: var(--litdesk-ink-4);
  border-color: var(--litdesk-ink-4);
  cursor: not-allowed;
  opacity: 0.7;
}

.litdesk-license-card__secondary-btn {
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 6px 14px;
  font-family: var(--litdesk-body);
  font-size: 13px;
  cursor: pointer;
  transition: border-color 150ms;
}
.litdesk-license-card__secondary-btn:hover {
  border-color: var(--litdesk-ink-3);
}

.litdesk-license-card__danger-btn {
  background: white;
  color: var(--litdesk-danger);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 6px 14px;
  font-family: var(--litdesk-body);
  font-size: 13px;
  cursor: pointer;
  transition: border-color 150ms, background 150ms;
}
.litdesk-license-card__danger-btn:hover {
  border-color: var(--litdesk-danger);
  background: var(--litdesk-danger-bg);
}

.litdesk-admin__empty-card {
  background: white;
  border: 1px dashed var(--litdesk-line);
  border-radius: 4px;
  padding: 60px 24px;
  text-align: center;
  margin-top: 16px;
  font-family: var(--litdesk-display);
  font-style: italic;
  color: var(--litdesk-ink-3);
  font-size: 15px;
}

/* =============================================================================
   Per-batch MSI generator (v1.2.0) — admin Builds page section
   ----------------------------------------------------------------------------
   Sits at the top of the Builds page above the existing single-mint form.
   Editorial vocabulary mirrors the rest of the admin: § rust mono eyebrow,
   display-serif heading, italic-serif lede, numbered steps in rust mono caps.
   ============================================================================= */

.litdesk-batch {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 24px 22px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 4px 4px 0;
  margin: 16px 0 24px;
}

.litdesk-batch__header {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--litdesk-line);
}

.litdesk-batch__eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}

.litdesk-batch__heading {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--litdesk-display) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: var(--litdesk-ink) !important;
  line-height: 1.15;
}

.litdesk-batch__lede {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.45;
  max-width: 64ch;
}

/* -- Numbered steps (01 / 02 / 03) ---------------------------------- */

.litdesk-batch__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
}

.litdesk-batch__step {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 12px;
  padding: 14px 16px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
}

.litdesk-batch__step-num {
  font-family: var(--litdesk-mono);
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--litdesk-ink-4);
  text-align: center;
  align-self: start;
  padding-top: 2px;
}

.litdesk-batch__step-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.litdesk-batch__step-title {
  font-family: var(--litdesk-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  display: block;
}

.litdesk-batch__step-note {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 13px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.45;
  max-width: 64ch;
}
.litdesk-batch__step-note code {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-style: normal;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 1px 5px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
  letter-spacing: 0.02em;
}

/* -- File / password / number / text inputs ------------------------- */

.litdesk-batch__file {
  font-family: var(--litdesk-body);
  font-size: 13px;
  padding: 6px 0;
  color: var(--litdesk-ink-2);
}
.litdesk-batch__file::file-selector-button {
  font-family: var(--litdesk-body);
  font-size: 13px;
  font-weight: 600;
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 6px 12px;
  margin-right: 12px;
  cursor: pointer;
  transition: border-color 150ms;
}
.litdesk-batch__file::file-selector-button:hover {
  border-color: var(--litdesk-rust);
  color: var(--litdesk-rust-deep);
}

.litdesk-batch__inline-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.litdesk-batch__inline-label > span {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  flex-shrink: 0;
  min-width: 156px;
}

.litdesk-batch__password {
  flex: 1;
  font-family: var(--litdesk-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  padding: 6px 10px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  color: var(--litdesk-ink);
  max-width: 360px;
}
.litdesk-batch__password:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
  background: white;
}

/* -- Step 03 — Parameters grid ------------------------------------- */

.litdesk-batch__params-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 900px) {
  .litdesk-batch__params-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .litdesk-batch__params-grid { grid-template-columns: 1fr; }
}

.litdesk-batch__params-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.litdesk-batch__params-grid label > span {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-batch__params-grid label > em {
  font-family: var(--litdesk-display);
  font-size: 11px;
  font-style: italic;
  color: var(--litdesk-ink-4);
  margin-top: 1px;
}

.litdesk-batch__number,
.litdesk-batch__text,
.litdesk-batch__params-grid select {
  font-family: var(--litdesk-mono);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  padding: 6px 10px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  color: var(--litdesk-ink);
  width: 100%;
}
.litdesk-batch__number:focus,
.litdesk-batch__text:focus,
.litdesk-batch__params-grid select:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
  background: white;
}

/* -- Submit row + footer ------------------------------------------- */

.litdesk-batch__submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0 0;
  border-top: 1px solid var(--litdesk-line);
  flex-wrap: wrap;
}

.litdesk-batch__submit-note {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.45;
  max-width: 56ch;
  flex: 1;
}
.litdesk-batch__submit-note em {
  font-style: normal;
  font-weight: 600;
  color: var(--litdesk-ink-2);
}
.litdesk-batch__submit-note strong {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-style: normal;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 1px 5px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
  letter-spacing: 0.02em;
  font-weight: 600;
}

.litdesk-batch__submit {
  font-family: var(--litdesk-body);
  font-size: 14px;
  font-weight: 600;
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
  border-radius: 3px;
  padding: 10px 22px;
  cursor: pointer;
  transition: background 150ms;
  white-space: nowrap;
  flex-shrink: 0;
}
.litdesk-batch__submit:hover:not(:disabled) {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
}
.litdesk-batch__submit:disabled {
  background: var(--litdesk-ink-4);
  border-color: var(--litdesk-ink-4);
  cursor: not-allowed;
  opacity: 0.7;
}

.litdesk-batch__footer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--litdesk-line);
  flex-wrap: wrap;
}

.litdesk-batch__purge-btn {
  font-family: var(--litdesk-body);
  font-size: 12px;
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 4px 10px;
  cursor: pointer;
  transition: border-color 150ms, color 150ms;
}
.litdesk-batch__purge-btn:hover {
  border-color: var(--litdesk-ink-3);
  color: var(--litdesk-ink);
}

.litdesk-batch__history {
  font-family: var(--litdesk-body);
  font-size: 12px;
  color: var(--litdesk-ink-3);
  flex: 1;
}
.litdesk-batch__history summary {
  cursor: pointer;
  user-select: none;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--litdesk-ink-2);
}
.litdesk-batch__history ul {
  margin: 8px 0 0;
  padding: 0 0 0 20px;
  list-style: '·  ';
}
.litdesk-batch__history li {
  padding: 2px 0;
  line-height: 1.4;
}
.litdesk-batch__history code {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 1px 4px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
  letter-spacing: 0.04em;
}
.litdesk-batch__history em {
  font-family: var(--litdesk-display);
  font-style: italic;
  color: var(--litdesk-ink-4);
}

/* =============================================================================
   Public Releases page (v1.3 / Phase 36)
   ============================================================================= */

.litdesk-releases-public,
.litdesk-register-public {
  --litdesk-rust:        #884231;
  --litdesk-rust-deep:   #6F3525;
  --litdesk-rust-tint:   rgba(136, 66, 49, 0.08);
  --litdesk-paper:       #FAF7F2;
  --litdesk-paper-deep:  #F4EFE6;
  --litdesk-ink:         #1D1B19;
  --litdesk-ink-2:       #4A4641;
  --litdesk-ink-3:       #6B6864;
  --litdesk-ink-4:       #9C9893;
  --litdesk-line:        #E0DAD0;
  --litdesk-line-soft:   #C9C2B6;
  --litdesk-display:     'Fraunces', 'Iowan Old Style', 'Palatino', serif;
  --litdesk-mono:        'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
  --litdesk-body:        'Switzer', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}

.litdesk-releases-public {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 920px;
  margin: 0 auto;
  padding: 56px 32px 80px;
  font-family: var(--litdesk-body);
  color: var(--litdesk-ink);
}

.litdesk-releases-public__masthead {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--litdesk-line);
}
.litdesk-releases-public__eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-releases-public__heading {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 56px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--litdesk-ink);
}
.litdesk-releases-public__lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 18px;
  font-style: italic;
  line-height: 1.55;
  color: var(--litdesk-ink-2);
  max-width: 64ch;
}

/* -- Release card --------------------------------------------------- */

.litdesk-releases-public__release {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 32px 36px 36px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-left: 4px solid var(--litdesk-rust);
  border-radius: 0 6px 6px 0;
}

.litdesk-releases-public__release-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--litdesk-line);
}

.litdesk-releases-public__version-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.litdesk-releases-public__version-eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-releases-public__version {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.1;
  color: var(--litdesk-ink);
}
.litdesk-releases-public__release-date {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 15px;
  color: var(--litdesk-ink-3);
}
.litdesk-releases-public__release-date em {
  font-style: italic;
  color: var(--litdesk-ink-2);
}

.litdesk-releases-public__download-cta {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px 28px;
  font-family: var(--litdesk-body);
  font-size: 16px;
  font-weight: 600;
  background: var(--litdesk-rust);
  color: white !important;
  text-decoration: none !important;
  border: 1px solid var(--litdesk-rust);
  border-radius: 4px;
  transition: background 150ms, transform 150ms;
  white-space: nowrap;
}
.litdesk-releases-public__download-cta:hover {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
  transform: translateY(-1px);
}
.litdesk-releases-public__download-cta-arrow {
  font-family: var(--litdesk-mono);
  font-size: 18px;
  line-height: 1;
}

/* -- What's new ---------------------------------------------------- */

.litdesk-releases-public__whatsnew {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 28px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
}
.litdesk-releases-public__whatsnew-eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-releases-public__whatsnew-body {
  font-family: var(--litdesk-display);
  font-size: 16px;
  font-style: italic;
  line-height: 1.6;
  color: var(--litdesk-ink-2);
}
.litdesk-releases-public__whatsnew-body p {
  margin: 0 0 12px;
}
.litdesk-releases-public__whatsnew-body p:last-child { margin-bottom: 0; }

/* -- Details panel -------------------------------------------------- */

.litdesk-releases-public__details {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--litdesk-line);
}
@media (max-width: 720px) {
  .litdesk-releases-public__details { grid-template-columns: repeat(2, 1fr); }
}

.litdesk-releases-public__detail {
  display: flex; flex-direction: column; gap: 4px;
}
.litdesk-releases-public__detail dt {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  margin: 0;
}
.litdesk-releases-public__detail dd {
  font-family: var(--litdesk-mono);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  color: var(--litdesk-ink);
  margin: 0;
}
.litdesk-releases-public__detail code {
  font-family: var(--litdesk-mono);
  font-size: 13px;
  background: transparent;
  border: none;
  padding: 0;
  color: var(--litdesk-ink);
}

/* -- Registration prerequisite block ------------------------------- */

.litdesk-releases-public__registration {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 36px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
}

.litdesk-releases-public__registration-header {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.litdesk-releases-public__registration-eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-releases-public__registration-heading {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: var(--litdesk-ink);
}
.litdesk-releases-public__registration-lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 15px;
  font-style: italic;
  line-height: 1.6;
  color: var(--litdesk-ink-2);
  max-width: 60ch;
}

.litdesk-releases-public__registration-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid var(--litdesk-line);
}
.litdesk-releases-public__registration-cta {
  display: inline-block;
  padding: 12px 24px;
  font-family: var(--litdesk-body);
  font-size: 14px;
  font-weight: 600;
  background: var(--litdesk-ink);
  color: white !important;
  text-decoration: none !important;
  border: 1px solid var(--litdesk-ink);
  border-radius: 4px;
  transition: background 150ms;
}
.litdesk-releases-public__registration-cta:hover {
  background: var(--litdesk-ink-2);
  border-color: var(--litdesk-ink-2);
}

.litdesk-releases-public__registration-existing {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  max-width: 56ch;
  flex: 1;
}
.litdesk-releases-public__registration-existing em {
  font-weight: 500;
  color: var(--litdesk-ink-2);
}
.litdesk-releases-public__registration-existing code {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  font-style: normal;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 1px 6px;
  border-radius: 2px;
  color: var(--litdesk-rust-deep);
}

/* -- Verify (collapsible) ----------------------------------------- */

.litdesk-releases-public__verify {
  background: white;
  border: 1px dashed var(--litdesk-line-soft);
  border-radius: 4px;
  padding: 20px 28px;
}
.litdesk-releases-public__verify summary {
  display: flex;
  align-items: baseline;
  gap: 16px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}
.litdesk-releases-public__verify summary::-webkit-details-marker { display: none; }
.litdesk-releases-public__verify summary::before {
  content: '+';
  font-family: var(--litdesk-mono);
  font-size: 16px;
  color: var(--litdesk-rust);
  transition: transform 150ms;
}
.litdesk-releases-public__verify[open] summary::before {
  content: '−';
}
.litdesk-releases-public__verify-eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-releases-public__verify-summary {
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  color: var(--litdesk-ink-3);
}

.litdesk-releases-public__verify-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--litdesk-line);
}
.litdesk-releases-public__verify-lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  line-height: 1.55;
  color: var(--litdesk-ink-3);
  max-width: 60ch;
}
.litdesk-releases-public__verify-details {
  display: flex; flex-direction: column; gap: 12px; margin: 0;
}
.litdesk-releases-public__verify-details > div {
  display: flex; flex-direction: column; gap: 4px;
}
.litdesk-releases-public__verify-details dt {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  margin: 0;
}
.litdesk-releases-public__verify-details dd {
  margin: 0;
}
.litdesk-releases-public__verify-hash {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  word-break: break-all;
  color: var(--litdesk-ink);
  background: var(--litdesk-paper);
  padding: 6px 10px;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  display: inline-block;
}
.litdesk-releases-public__verify-cmd {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  color: var(--litdesk-ink-2);
  background: var(--litdesk-paper);
  padding: 6px 10px;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  display: inline-block;
}

/* -- Empty state --------------------------------------------------- */

.litdesk-releases-public--empty .litdesk-releases-public__masthead {
  border-bottom: none;
}
.litdesk-releases-public--empty .litdesk-releases-public__lede a {
  color: var(--litdesk-rust);
  text-decoration: underline;
}

/* =============================================================================
   Public Register page (v1.3 / Phase 36)
   ============================================================================= */

.litdesk-register-public {
  display: flex;
  flex-direction: column;
  gap: 36px;
  max-width: 920px;
  margin: 0 auto;
  padding: 56px 32px 80px;
  font-family: var(--litdesk-body);
  color: var(--litdesk-ink);
}

.litdesk-register-public__masthead {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--litdesk-line);
}
.litdesk-register-public__eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-register-public__heading {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 48px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--litdesk-ink);
}
.litdesk-register-public__lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 17px;
  font-style: italic;
  line-height: 1.6;
  color: var(--litdesk-ink-2);
  max-width: 60ch;
}

.litdesk-register-public__form-wrap {
  /* The inner form has its own paper-tinted card; just provide the
     surrounding spacing here. */
}

.litdesk-register-public__footer {
  padding-top: 24px;
  border-top: 1px solid var(--litdesk-line);
}
.litdesk-register-public__footnote {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 13px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.6;
  max-width: 64ch;
}
.litdesk-register-public__footnote em {
  font-weight: 500;
  color: var(--litdesk-ink-2);
}

/* =============================================================================
   Admin Trials + Releases pages (v1.3 / Phase 36)
   ============================================================================= */

.litdesk-admin__row--converted { background: rgba(78, 130, 88, 0.04); }
.litdesk-admin__row--cleared   { background: rgba(184, 184, 184, 0.06); opacity: 0.85; }
.litdesk-admin__row--expired   { opacity: 0.85; }

.litdesk-admin__status {
  display: inline-block;
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 3px;
  border: 1px solid transparent;
}
.litdesk-admin__status--active     { background: rgba(78, 130, 88, 0.1);  color: #2d5d3a; border-color: rgba(78, 130, 88, 0.3); }
.litdesk-admin__status--expired    { background: rgba(168, 132, 50, 0.1); color: #7a5c1f; border-color: rgba(168, 132, 50, 0.3); }
.litdesk-admin__status--converted  { background: rgba(136, 66, 49, 0.08); color: var(--litdesk-rust-deep); border-color: rgba(136, 66, 49, 0.2); }
.litdesk-admin__status--cleared    { background: rgba(140, 140, 140, 0.08); color: var(--litdesk-ink-3); border-color: var(--litdesk-line); }

.litdesk-admin__converted-info {
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  margin-top: 4px;
}

.litdesk-admin__machine-label {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  color: var(--litdesk-ink);
}
.litdesk-admin__machine-os {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  display: block;
  margin-top: 2px;
}

.litdesk-admin__action-noop {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  color: var(--litdesk-ink-4);
}

/* -- Releases admin: upload + history ---------------------------- */

.litdesk-releases__upload,
.litdesk-releases__history {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 22px 26px 24px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 4px 4px 0;
  margin: 16px 0 24px;
}

.litdesk-releases__upload-header,
.litdesk-releases__history-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--litdesk-line);
}

.litdesk-releases__upload-eyebrow,
.litdesk-releases__history-eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}

.litdesk-releases__upload-heading,
.litdesk-releases__history-heading {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--litdesk-display) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  color: var(--litdesk-ink) !important;
  line-height: 1.15;
}

.litdesk-releases__upload-lede {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
  max-width: 64ch;
}
.litdesk-releases__upload-lede code {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  font-style: normal;
  background: white;
  border: 1px solid var(--litdesk-line);
  padding: 1px 5px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
  letter-spacing: 0.02em;
}

.litdesk-releases__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
}

.litdesk-releases__step {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 12px;
  padding: 14px 16px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
}
.litdesk-releases__step-num {
  font-family: var(--litdesk-mono);
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--litdesk-ink-4);
  text-align: center;
  align-self: start;
  padding-top: 2px;
}
.litdesk-releases__step-content {
  display: flex; flex-direction: column; gap: 8px; min-width: 0;
}
.litdesk-releases__step-title {
  font-family: var(--litdesk-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.litdesk-releases__step-note {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 13px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.45;
  max-width: 64ch;
}
.litdesk-releases__step-note code {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-style: normal;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 1px 5px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
  letter-spacing: 0.02em;
}

.litdesk-releases__file {
  font-family: var(--litdesk-body);
  font-size: 13px;
  padding: 6px 0;
}
.litdesk-releases__file::file-selector-button {
  font-family: var(--litdesk-body);
  font-size: 13px;
  font-weight: 600;
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  padding: 6px 12px;
  margin-right: 12px;
  cursor: pointer;
  transition: border-color 150ms;
}
.litdesk-releases__file::file-selector-button:hover {
  border-color: var(--litdesk-rust);
  color: var(--litdesk-rust-deep);
}

.litdesk-releases__params-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 720px) {
  .litdesk-releases__params-grid { grid-template-columns: 1fr; }
}
.litdesk-releases__params-grid label {
  display: flex; flex-direction: column; gap: 4px;
}
.litdesk-releases__params-grid label > span {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-releases__text {
  font-family: var(--litdesk-mono);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  padding: 6px 10px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  color: var(--litdesk-ink);
  width: 100%;
}
.litdesk-releases__text:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
  background: white;
}

.litdesk-releases__whatsnew {
  display: flex; flex-direction: column; gap: 4px;
  margin-top: 4px;
}
.litdesk-releases__whatsnew > span {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-releases__whatsnew > em {
  font-family: var(--litdesk-display);
  font-size: 11px;
  font-style: italic;
  color: var(--litdesk-ink-4);
  line-height: 1.45;
  margin-top: 2px;
}
.litdesk-releases__textarea {
  font-family: var(--litdesk-display);
  font-size: 14px;
  line-height: 1.5;
  padding: 10px 12px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  color: var(--litdesk-ink);
  resize: vertical;
}
.litdesk-releases__textarea:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
  background: white;
}

.litdesk-releases__submit-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding: 14px 0 0;
  border-top: 1px solid var(--litdesk-line);
  flex-wrap: wrap;
}
.litdesk-releases__submit-note {
  margin: 0 !important;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
  max-width: 56ch;
  flex: 1;
}
.litdesk-releases__submit-note em {
  font-style: normal;
  font-weight: 600;
  color: var(--litdesk-ink-2);
}
.litdesk-releases__submit-note strong {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 1px 5px;
  border-radius: 2px;
  color: var(--litdesk-ink-2);
  letter-spacing: 0.02em;
  font-weight: 600;
}
.litdesk-releases__submit {
  font-family: var(--litdesk-body);
  font-size: 14px;
  font-weight: 600;
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
  border-radius: 3px;
  padding: 10px 22px;
  cursor: pointer;
  transition: background 150ms;
  white-space: nowrap;
  flex-shrink: 0;
}
.litdesk-releases__submit:hover:not(:disabled) {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
}

/* -- Release history list ----------------------------------------- */

.litdesk-releases__list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.litdesk-releases__entry {
  display: flex; flex-direction: column; gap: 14px;
  padding: 16px 20px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
}
.litdesk-releases__entry.is-unpublished {
  opacity: 0.65;
  background: var(--litdesk-paper);
}
.litdesk-releases__entry-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.litdesk-releases__entry-version {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
}
.litdesk-releases__entry-num {
  font-family: var(--litdesk-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.01em;
}
.litdesk-releases__entry-channel {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line);
  padding: 2px 7px;
  border-radius: 2px;
}
.litdesk-releases__entry-pub-badge,
.litdesk-releases__entry-unpub-badge {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 2px;
}
.litdesk-releases__entry-pub-badge {
  background: rgba(78, 130, 88, 0.1);
  color: #2d5d3a;
  border: 1px solid rgba(78, 130, 88, 0.3);
}
.litdesk-releases__entry-unpub-badge {
  background: rgba(140, 140, 140, 0.1);
  color: var(--litdesk-ink-3);
  border: 1px solid var(--litdesk-line);
}
.litdesk-releases__entry-date em {
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  color: var(--litdesk-ink-3);
}

.litdesk-releases__entry-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--litdesk-line);
}
@media (max-width: 720px) {
  .litdesk-releases__entry-meta { grid-template-columns: 1fr; }
}
.litdesk-releases__entry-meta > div { display: flex; flex-direction: column; gap: 4px; }
.litdesk-releases__entry-meta dt {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
  margin: 0;
}
.litdesk-releases__entry-meta dd {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  color: var(--litdesk-ink);
  margin: 0;
}

.litdesk-releases__entry-whatsnew {
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  line-height: 1.55;
  color: var(--litdesk-ink-2);
  padding: 12px 16px;
  background: var(--litdesk-paper);
  border-left: 2px solid var(--litdesk-line-soft);
  border-radius: 0 3px 3px 0;
}
.litdesk-releases__entry-whatsnew p { margin: 0 0 8px; }
.litdesk-releases__entry-whatsnew p:last-child { margin-bottom: 0; }

.litdesk-releases__entry-actions {
  display: flex;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--litdesk-line);
}

/* =============================================================================
   Install row "Manage" menu — Migrate / Disable affordances (v1.3 fix-37)
   ============================================================================= */

.litdesk-install-row__menu {
  position: relative;
  flex-shrink: 0;
}

.litdesk-install-row__menu-summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 14px;
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: border-color 150ms, color 150ms;
}
.litdesk-install-row__menu-summary::-webkit-details-marker { display: none; }
.litdesk-install-row__menu-summary:hover {
  border-color: var(--litdesk-rust);
  color: var(--litdesk-rust-deep);
}
.litdesk-install-row__menu[open] .litdesk-install-row__menu-summary {
  border-color: var(--litdesk-rust);
  color: var(--litdesk-rust-deep);
  background: var(--litdesk-rust-tint);
}
.litdesk-install-row__menu-summary-glyph {
  font-size: 9px;
  transition: transform 150ms;
}
.litdesk-install-row__menu[open] .litdesk-install-row__menu-summary-glyph {
  transform: rotate(180deg);
}

.litdesk-install-row__menu-body {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 10;
  width: 380px;
  max-width: calc(100vw - 80px);
  padding: 18px 20px 16px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
}

.litdesk-install-row__menu-lede {
  margin: 0 0 14px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--litdesk-line);
  font-family: var(--litdesk-display);
  font-size: 13px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
}
.litdesk-install-row__menu-lede em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink-2);
}

.litdesk-install-row__menu-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.litdesk-install-row__menu-note {
  font-family: var(--litdesk-body);
  font-size: 12px;
  padding: 6px 10px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  color: var(--litdesk-ink);
  width: 100%;
  box-sizing: border-box;
}
.litdesk-install-row__menu-note:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
  background: white;
}

.litdesk-install-row__menu-action {
  font-family: var(--litdesk-body);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 3px;
  cursor: pointer;
  text-align: left;
  transition: background 150ms, border-color 150ms;
}

.litdesk-install-row__menu-action--migrate {
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
}
.litdesk-install-row__menu-action--migrate:hover {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
}

.litdesk-install-row__menu-action--disable {
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line-soft);
}
.litdesk-install-row__menu-action--disable:hover {
  border-color: #B85451;
  color: #8E2E2B;
  background: rgba(184, 84, 81, 0.04);
}

.litdesk-install-row__menu-hint {
  margin: 4px 0 0 0;
  font-family: var(--litdesk-display);
  font-size: 11px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
}
.litdesk-install-row__menu-hint em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink-2);
}

.litdesk-install-row__menu-divider {
  margin: 14px 0 12px;
  border: 0;
  border-top: 1px dashed var(--litdesk-line-soft);
}

/* Status-pill variants for the post-revoke states — distinguishes a
   migration (paper-toned, neutral) from a punitive disable (red-toned)
   from a generic revoke (rust-toned). */
.litdesk-admin__status-pill.is-migrated {
  background: rgba(78, 130, 88, 0.08);
  color: #2d5d3a;
  border: 1px solid rgba(78, 130, 88, 0.25);
}
.litdesk-admin__status-pill.is-disabled {
  background: rgba(184, 84, 81, 0.08);
  color: #8E2E2B;
  border: 1px solid rgba(184, 84, 81, 0.25);
}

.litdesk-install-row__revoked-reason {
  display: block;
  margin-top: 4px;
  font-family: var(--litdesk-display);
  font-size: 11px;
  color: var(--litdesk-ink-3);
  line-height: 1.45;
  max-width: 240px;
}
.litdesk-install-row__revoked-reason em {
  font-style: italic;
}

/* =============================================================================
   Install row Restore affordance (v1.3.2 / Phase 36.5)
   ============================================================================= */

/* The revoked-state region wraps the status pill, optional reason
   text, and the new Restore form into a single vertical stack — keeps
   the row read-flow predictable when there's a long reason note. */
.litdesk-install-row__revoked-state {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  text-align: right;
}

.litdesk-install-row__restore-form {
  margin: 4px 0 0;
}

.litdesk-install-row__restore-btn {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 11px;
  background: white;
  color: var(--litdesk-rust-deep);
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  cursor: pointer;
  transition: border-color 150ms, background 150ms, color 150ms;
}
.litdesk-install-row__restore-btn:hover {
  border-color: var(--litdesk-rust);
  background: var(--litdesk-rust-tint);
  color: var(--litdesk-rust);
}

/* On the smaller align-items context, the restore-form needs to keep
   itself flush-right within the stack. */
.litdesk-install-row__revoked-state .litdesk-install-row__revoked-reason {
  text-align: right;
  max-width: 280px;
}

/* =============================================================================
   Full fingerprint copy-button (v1.3.3 / Phase 36.6)
   ============================================================================= */

/* Trials page: full fingerprint as a copy-on-click button. The 64-char
   string fits in a row but reads dense; we render it in mono with a
   secondary "click to copy full" hint underneath that disappears on
   hover (so it doesn't draw the eye when the user is reading). */
.litdesk-admin__fingerprint-full {
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  padding: 6px 10px;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 100%;
  font: inherit;
  transition: border-color 150ms, background 150ms;
}
.litdesk-admin__fingerprint-full:hover {
  border-color: var(--litdesk-rust);
  background: white;
}
.litdesk-admin__fingerprint-full-code {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--litdesk-ink);
  word-break: break-all;
  line-height: 1.3;
}
.litdesk-admin__fingerprint-full-hint {
  font-family: var(--litdesk-display);
  font-size: 10px;
  color: var(--litdesk-ink-3);
  font-style: italic;
}
.litdesk-admin__fingerprint-full-prefix {
  font-family: var(--litdesk-mono);
  font-style: normal;
  font-weight: 600;
  color: var(--litdesk-rust-deep);
}
.litdesk-admin__fingerprint-full em {
  font-style: italic;
}

/* Confirmation tooltip after copy — added by JS via a temporary class */
.litdesk-admin__fingerprint-full.is-copied {
  border-color: var(--litdesk-rust);
  background: var(--litdesk-rust-tint);
}
.litdesk-admin__fingerprint-full.is-copied .litdesk-admin__fingerprint-full-hint::after {
  content: ' — copied';
  font-style: italic;
  font-weight: 600;
  color: var(--litdesk-rust-deep);
}

/* =============================================================================
   Issue License page (v1.3.3 / Phase 36.6)
   ============================================================================= */

/* Receipt card — appears after a successful issue. Rust border-left
   accent matches license-card hierarchy. */
.litdesk-issue__receipt {
  background: white;
  border: 1px solid var(--litdesk-line);
  border-left: 4px solid var(--litdesk-rust);
  border-radius: 0 4px 4px 0;
  padding: 24px 28px;
  margin: 18px 0 24px;
}
.litdesk-issue__receipt-header {
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--litdesk-line);
}
.litdesk-issue__receipt-eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 8px;
}
.litdesk-issue__receipt-heading {
  margin: 0 0 8px;
  font-family: var(--litdesk-display);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--litdesk-ink);
}
.litdesk-issue__receipt-lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  line-height: 1.55;
  color: var(--litdesk-ink-3);
  max-width: 60ch;
}
.litdesk-issue__receipt-lede em {
  font-weight: 600;
  color: var(--litdesk-ink-2);
  font-style: italic;
}

.litdesk-issue__receipt-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.litdesk-issue__receipt-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.litdesk-issue__receipt-label {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-issue__receipt-key {
  font-family: var(--litdesk-mono);
  font-size: 16px;
  font-weight: 600;
  color: var(--litdesk-ink);
  background: var(--litdesk-rust-tint);
  border: 1px solid var(--litdesk-rust);
  padding: 10px 14px;
  border-radius: 3px;
  letter-spacing: 0.04em;
  word-break: break-all;
  user-select: all;
}
.litdesk-issue__receipt-serial {
  font-family: var(--litdesk-mono);
  font-size: 13px;
  color: var(--litdesk-ink-2);
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  padding: 6px 10px;
  border-radius: 3px;
  user-select: all;
}
.litdesk-issue__receipt-value {
  font-family: var(--litdesk-display);
  font-size: 14px;
  color: var(--litdesk-ink-2);
  line-height: 1.5;
}
.litdesk-issue__receipt-value em {
  font-style: italic;
  color: var(--litdesk-ink-3);
  font-size: 12px;
  display: block;
  margin-top: 2px;
}

.litdesk-issue__receipt-foot {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px dashed var(--litdesk-line-soft);
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.55;
}
.litdesk-issue__receipt-foot em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink-2);
}

/* Form section */
.litdesk-issue__form-section {
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
  padding: 24px 28px;
}
.litdesk-issue__form-header {
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--litdesk-line);
}
.litdesk-issue__form-eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 8px;
}
.litdesk-issue__form-heading {
  margin: 0 0 8px;
  font-family: var(--litdesk-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.01em;
}
.litdesk-issue__form-lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 13px;
  font-style: italic;
  line-height: 1.5;
  color: var(--litdesk-ink-3);
}
.litdesk-issue__form-lede em {
  font-weight: 600;
  color: var(--litdesk-ink-2);
  font-style: italic;
}

.litdesk-issue__form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 14px;
}
.litdesk-issue__form-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.litdesk-issue__form-field--wide {
  grid-column: 1 / -1;
}
.litdesk-issue__form-label {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-issue__form-label em {
  margin-left: 6px;
  font-family: var(--litdesk-display);
  font-size: 10px;
  font-style: italic;
  color: var(--litdesk-rust-deep);
  text-transform: lowercase;
  letter-spacing: 0;
  font-weight: 500;
}
.litdesk-issue__form-input {
  font-family: var(--litdesk-body);
  font-size: 14px;
  padding: 8px 12px;
  border: 1px solid var(--litdesk-line-soft);
  border-radius: 3px;
  background: var(--litdesk-paper);
  color: var(--litdesk-ink);
  transition: border-color 150ms, background 150ms;
}
.litdesk-issue__form-input:focus {
  outline: none;
  border-color: var(--litdesk-rust);
  background: white;
  box-shadow: 0 0 0 2px var(--litdesk-rust-tint);
}

.litdesk-issue__form-details {
  margin: 14px 0 18px;
  padding: 0;
  border: 1px dashed var(--litdesk-line-soft);
  border-radius: 3px;
}
.litdesk-issue__form-summary {
  padding: 10px 14px;
  cursor: pointer;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--litdesk-ink-2);
  list-style: none;
  user-select: none;
}
.litdesk-issue__form-summary::-webkit-details-marker { display: none; }
.litdesk-issue__form-summary:hover { color: var(--litdesk-rust-deep); }
.litdesk-issue__form-details[open] .litdesk-issue__form-summary {
  border-bottom: 1px dashed var(--litdesk-line-soft);
  margin-bottom: 0;
}
.litdesk-issue__form-details[open] .litdesk-issue__form-grid {
  padding: 16px 14px 4px;
  margin-bottom: 0;
}

.litdesk-issue__form-options {
  margin: 18px 0 22px;
  padding: 14px 16px;
  background: var(--litdesk-paper);
  border-radius: 3px;
}
.litdesk-issue__form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-family: var(--litdesk-display);
  font-size: 13px;
  line-height: 1.5;
  color: var(--litdesk-ink-2);
}
.litdesk-issue__form-checkbox input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
}
.litdesk-issue__form-checkbox em {
  font-style: italic;
  font-weight: 600;
  color: var(--litdesk-ink);
}

.litdesk-issue__form-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}
.litdesk-issue__form-submit {
  font-family: var(--litdesk-body);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 22px;
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 150ms;
}
.litdesk-issue__form-submit:hover {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
}
.litdesk-issue__form-arrow {
  font-family: var(--litdesk-mono);
  font-weight: 600;
}
.litdesk-issue__form-hint {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
  max-width: 60ch;
}
.litdesk-issue__form-hint em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink-2);
}

/* =============================================================================
   Dashboard (v1.4.0)
   ============================================================================= */

.litdesk-dashboard__woo-notice,
.litdesk-dashboard__warn-notice {
  margin: 18px 0 24px;
  padding: 16px 20px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 3px 3px 0;
}
.litdesk-dashboard__warn-notice {
  border-left-color: #a88432;
  background: rgba(168, 132, 50, 0.04);
}
.litdesk-dashboard__woo-notice-eyebrow,
.litdesk-dashboard__warn-notice-eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 6px;
}
.litdesk-dashboard__warn-notice-eyebrow { color: #7a5c1f; }
.litdesk-dashboard__woo-notice p,
.litdesk-dashboard__warn-notice p {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 14px;
  line-height: 1.55;
  color: var(--litdesk-ink-2);
}
.litdesk-dashboard__woo-notice em,
.litdesk-dashboard__warn-notice em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink);
}
.litdesk-dashboard__warn-notice code {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  background: white;
  padding: 1px 6px;
  border-radius: 2px;
  border: 1px solid rgba(168, 132, 50, 0.3);
}

/* ---- KPI grid ---- */
.litdesk-dashboard__grid {
  display: grid;
  gap: 18px;
  margin: 24px 0;
}
.litdesk-dashboard__grid--kpis {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.litdesk-dashboard__grid--secondary {
  grid-template-columns: 2fr 1fr;
}
@media (max-width: 900px) {
  .litdesk-dashboard__grid--secondary { grid-template-columns: 1fr; }
}

.litdesk-dashboard__card {
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
  padding: 22px 24px;
}
.litdesk-dashboard__card--revenue {
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 4px 4px 0;
}
.litdesk-dashboard__card-header {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--litdesk-line);
}
.litdesk-dashboard__card-eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 6px;
}
.litdesk-dashboard__card-heading {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 36px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.015em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.litdesk-dashboard__card-subheading {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.01em;
}
.litdesk-dashboard__card-sub {
  display: block;
  margin-top: 6px;
  font-family: var(--litdesk-display);
  font-size: 12px;
  color: var(--litdesk-ink-3);
}
.litdesk-dashboard__card-sub em { font-style: italic; }

.litdesk-dashboard__card-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 14px;
  margin: 0;
}
.litdesk-dashboard__card-meta > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.litdesk-dashboard__card-meta dt {
  margin: 0;
  font-family: var(--litdesk-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-dashboard__card-meta dd {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--litdesk-ink);
  font-variant-numeric: tabular-nums;
}

.litdesk-dashboard__card-foot {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.55;
}
.litdesk-dashboard__card-foot em {
  font-weight: 600;
  color: var(--litdesk-ink-2);
}
.litdesk-dashboard__card-foot code {
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-style: normal;
  color: var(--litdesk-ink);
}
.litdesk-dashboard__card-empty {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.55;
  padding: 18px 0;
}
.litdesk-dashboard__card-empty em {
  font-weight: 600;
  color: var(--litdesk-ink-2);
}

/* ---- Activity feed ---- */
.litdesk-dashboard__activity {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.litdesk-dashboard__activity-item {
  display: grid;
  grid-template-columns: 130px 130px 1fr auto;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--litdesk-line);
  font-size: 13px;
  align-items: baseline;
}
.litdesk-dashboard__activity-item:last-child { border-bottom: 0; }
.litdesk-dashboard__activity-time {
  font-family: var(--litdesk-display);
  font-size: 11px;
  font-style: italic;
  color: var(--litdesk-ink-3);
}
.litdesk-dashboard__activity-kind {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-dashboard__activity-item--license_revoked .litdesk-dashboard__activity-kind {
  color: #8E2E2B;
}
.litdesk-dashboard__activity-item--trial_started .litdesk-dashboard__activity-kind {
  color: var(--litdesk-ink-3);
}
.litdesk-dashboard__activity-actor {
  font-family: var(--litdesk-body);
  font-weight: 500;
  color: var(--litdesk-ink);
}
.litdesk-dashboard__activity-detail {
  font-family: var(--litdesk-display);
  font-size: 12px;
  color: var(--litdesk-ink-2);
  text-align: right;
}
.litdesk-dashboard__activity-detail em { font-style: italic; color: var(--litdesk-ink-3); }
.litdesk-dashboard__activity-detail strong {
  font-family: var(--litdesk-mono);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--litdesk-ink);
}

/* ---- Top firms list ---- */
.litdesk-dashboard__top-firms {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.litdesk-dashboard__top-firm {
  padding: 12px 0;
  border-bottom: 1px solid var(--litdesk-line);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 14px;
}
.litdesk-dashboard__top-firm:last-child { border-bottom: 0; }
.litdesk-dashboard__top-firm-name {
  grid-column: 1;
  font-family: var(--litdesk-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.005em;
}
.litdesk-dashboard__top-firm-meta {
  grid-column: 1;
  font-family: var(--litdesk-display);
  font-size: 11px;
  font-style: italic;
  color: var(--litdesk-ink-3);
}
.litdesk-dashboard__top-firm-meta em { font-style: italic; }
.litdesk-dashboard__top-firm-amt {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  font-family: var(--litdesk-mono);
  font-size: 14px;
  font-weight: 600;
  color: var(--litdesk-ink);
  font-variant-numeric: tabular-nums;
}

/* ---- Action tiles ---- */
.litdesk-dashboard__grid--actions {
  display: block;
  margin-top: 28px;
}
.litdesk-dashboard__section-heading {
  margin: 0 0 14px;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-ink-3);
}
.litdesk-dashboard__action-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.litdesk-dashboard__tile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 18px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 3px;
  text-decoration: none;
  transition: border-color 150ms, background 150ms;
}
.litdesk-dashboard__tile:hover {
  border-color: var(--litdesk-rust);
  background: var(--litdesk-paper);
}
.litdesk-dashboard__tile--muted {
  opacity: 0.75;
}
.litdesk-dashboard__tile--muted:hover { opacity: 1; }
.litdesk-dashboard__tile-eyebrow {
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
}
.litdesk-dashboard__tile-title {
  font-family: var(--litdesk-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.005em;
}
.litdesk-dashboard__tile-detail {
  font-family: var(--litdesk-display);
  font-size: 12px;
  color: var(--litdesk-ink-3);
  line-height: 1.5;
}
.litdesk-dashboard__tile-detail em {
  font-style: italic;
  color: var(--litdesk-ink-2);
  font-weight: 500;
}

/* =============================================================================
   Issue License — fingerprint binding section (v1.5.0)
   ============================================================================= */

.litdesk-issue__form-fingerprint-section {
  margin: 18px 0 22px;
  padding: 16px 18px;
  background: var(--litdesk-paper);
  border: 1px solid var(--litdesk-line-soft);
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 3px 3px 0;
}

.litdesk-issue__form-fingerprint-section .litdesk-issue__form-field {
  margin-bottom: 8px;
}

.litdesk-issue__form-input--mono {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  letter-spacing: 0.01em;
  word-break: break-all;
}

.litdesk-issue__form-fingerprint-hint {
  margin: 6px 0 0;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.55;
  max-width: 70ch;
}

.litdesk-issue__form-fingerprint-hint em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink-2);
}

.litdesk-issue__receipt-field--wide {
  grid-column: 1 / -1;
}

/* =============================================================================
   Issue License — 2-column layout (form + recent-trials sidebar) (v1.6.0)
   ============================================================================= */

.litdesk-issue__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 24px;
  align-items: start;
  margin-top: 18px;
}

@media (max-width: 1100px) {
  .litdesk-issue__layout { grid-template-columns: 1fr; }
}

/* ---- Auto-populate banner inside fingerprint section ---- */

.litdesk-issue__form-fingerprint-autopop {
  margin: 0 0 12px;
  padding: 12px 14px;
  background: white;
  border: 1px solid var(--litdesk-rust);
  border-left: 3px solid var(--litdesk-rust);
  border-radius: 0 3px 3px 0;
}

.litdesk-issue__form-fingerprint-autopop-eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 6px;
}

.litdesk-issue__form-fingerprint-autopop-headline {
  margin: 0 0 6px;
  font-family: var(--litdesk-display);
  font-size: 13px;
  color: var(--litdesk-ink-2);
  line-height: 1.5;
}

.litdesk-issue__form-fingerprint-autopop-headline em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink);
}

.litdesk-issue__form-fingerprint-autopop-fp {
  margin: 0 0 10px;
  padding: 6px 10px;
  background: var(--litdesk-paper);
  border-radius: 3px;
  font-family: var(--litdesk-mono);
  font-size: 11px;
  color: var(--litdesk-ink-2);
  word-break: break-all;
  letter-spacing: 0.005em;
}

.litdesk-issue__form-fingerprint-autopop-actions {
  display: flex;
  gap: 8px;
}

.litdesk-issue__form-fingerprint-autopop-use,
.litdesk-issue__form-fingerprint-autopop-dismiss {
  font-family: var(--litdesk-body);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 3px;
  cursor: pointer;
  transition: background 150ms, border-color 150ms;
}

.litdesk-issue__form-fingerprint-autopop-use {
  background: var(--litdesk-rust);
  color: white;
  border: 1px solid var(--litdesk-rust);
}
.litdesk-issue__form-fingerprint-autopop-use:hover {
  background: var(--litdesk-rust-deep);
  border-color: var(--litdesk-rust-deep);
}

.litdesk-issue__form-fingerprint-autopop-dismiss {
  background: white;
  color: var(--litdesk-ink-2);
  border: 1px solid var(--litdesk-line);
}
.litdesk-issue__form-fingerprint-autopop-dismiss:hover {
  border-color: var(--litdesk-ink-2);
}

/* ---- Recent Trials sidebar ---- */

.litdesk-issue__recent-trials {
  position: sticky;
  top: 60px;
  padding: 18px 20px;
  background: white;
  border: 1px solid var(--litdesk-line);
  border-radius: 4px;
}

.litdesk-issue__recent-trials-header {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--litdesk-line);
}

.litdesk-issue__recent-trials-eyebrow {
  display: block;
  font-family: var(--litdesk-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--litdesk-rust-deep);
  margin-bottom: 5px;
}

.litdesk-issue__recent-trials-heading {
  margin: 0 0 6px;
  font-family: var(--litdesk-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--litdesk-ink);
  letter-spacing: -0.005em;
}

.litdesk-issue__recent-trials-lede {
  margin: 0;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.55;
}

.litdesk-issue__recent-trials-lede em {
  font-weight: 600;
  font-style: italic;
  color: var(--litdesk-ink-2);
}

.litdesk-issue__recent-trials-loading,
.litdesk-issue__recent-trials-empty {
  margin: 0;
  padding: 12px 0;
  font-family: var(--litdesk-display);
  font-size: 12px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  text-align: center;
}

.litdesk-issue__recent-trials-loading em,
.litdesk-issue__recent-trials-empty em {
  font-style: italic;
}

.litdesk-issue__recent-trials-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.litdesk-issue__recent-trials-item {
  border-bottom: 1px solid var(--litdesk-line);
}
.litdesk-issue__recent-trials-item:last-child { border-bottom: 0; }

.litdesk-issue__recent-trials-pick {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  padding: 10px 0;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  transition: padding-left 150ms;
}
.litdesk-issue__recent-trials-pick:hover {
  padding-left: 6px;
  background: var(--litdesk-paper);
}

.litdesk-issue__recent-trials-prefix {
  font-family: var(--litdesk-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--litdesk-rust-deep);
  letter-spacing: 0.005em;
}

.litdesk-issue__recent-trials-meta {
  font-family: var(--litdesk-display);
  font-size: 11px;
  font-style: italic;
  color: var(--litdesk-ink-3);
  line-height: 1.4;
}
