/* JWT Decoder — tool-specific styles */
.jw-label { display: block; font-size: .82rem; font-weight: 600; color: var(--muted); margin-bottom: 8px; }
.jw-input { width: 100%; min-height: 130px; resize: vertical; background: var(--bg-soft); color: var(--accent-2);
  border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px; font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: .9rem; line-height: 1.5; word-break: break-all; }
.jw-input:focus { outline: none; border-color: var(--accent); }
.jw-out { margin-top: 18px; display: flex; flex-direction: column; gap: 16px; }
.jw-part-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.jw-part-head h3 { margin: 0; font-size: 1rem; }
.jw-copy { padding: 6px 12px; font-size: .8rem; }
.jw-json { background: #0c0f1d; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px 16px; margin: 0;
  font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .88rem; line-height: 1.55; overflow: auto; white-space: pre-wrap; word-break: break-word; }
.jw-json .k { color: var(--accent); } .jw-json .s { color: var(--accent-2); } .jw-json .n { color: #ffd166; } .jw-json .b { color: #ff9e7a; }
.jw-sig { color: var(--muted-2); }
.jw-claims { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.jw-claim { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; font-size: .85rem; background: var(--bg-soft);
  border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 8px 12px; }
.jw-claim b { color: var(--muted); min-width: 96px; }
.jw-claim .ok { color: var(--good); font-weight: 600; } .jw-claim .bad { color: var(--danger); font-weight: 600; }
