/* Layout mirrors the parse/transcribe pages; visual tokens come from
   /admin/assets/style.css. Only deploy-specific bits live here. */
.tx-app { min-height: 100vh; display: flex; flex-direction: column; }
.tx-top { display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 1px solid var(--line); }
.tx-logo { display: flex; align-items: center; gap: 8px; text-decoration: none;
  color: var(--text); }
.tx-logo .ctx { color: var(--muted); }
.tx-main { flex: 1; display: flex; justify-content: center; align-items: flex-start;
  padding: 40px 16px; }
.tx-flow { width: 100%; max-width: 520px; }
.tx-card { background: var(--bg); border: 1px solid var(--line); border-radius: 12px;
  padding: 28px; }
.tx-brand { color: var(--muted); font-size: 13px; letter-spacing: .08em;
  text-transform: uppercase; }
.tx-card h1 { font-size: 20px; margin: 6px 0 18px; }
.tx-card .lbl { display: block; font-size: 13px; color: var(--muted); }
.tx-err { color: var(--danger); font-size: 13px; margin-top: 10px; }
.hidden { display: none !important; }
.key-line { display: flex; align-items: center; gap: 10px; word-break: break-all; }
.key-line a { color: var(--accent); }
