.jwt-part--header{color:var(--color-error);font-weight:600}.jwt-part--payload{color:var(--color-primary);font-weight:600}.jwt-part--signature{color:var(--color-tertiary);font-weight:600}.jwt-dot{color:var(--color-on-surface-variant);opacity:.5;font-weight:800}.jwt-invalid{color:var(--color-error)}.exp-badge{border-radius:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;animation:.3s fadeIn;display:inline-block}.exp-badge--valid{color:#059669;background:#0596691a;border:1px solid #05966933}.exp-badge--expired{background:color-mix(in srgb, var(--color-error) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-error) 20%, transparent);color:var(--color-error)}.exp-badge--none{background:var(--color-surface-container-high);border:1px solid color-mix(in srgb, var(--color-outline-variant) 30%, transparent);color:var(--color-on-surface-variant)}.exp-badge__date{opacity:.8;font-size:.875rem;font-weight:400}.json-key{color:var(--color-error)}.json-string{color:#059669}.json-number{color:#2563eb}.json-boolean{color:#d97706}.json-null{color:var(--color-on-surface-variant);opacity:.5}.claim-key{font-family:var(--font-mono);background:var(--color-surface-container);color:var(--color-primary);border-radius:.25rem;padding:.125rem .375rem;font-size:.75rem}.claim-label{color:var(--color-on-surface-variant);cursor:help;border-bottom:1px dotted color-mix(in srgb, var(--color-on-surface-variant) 30%, transparent);margin-top:2px;font-size:.7rem;display:inline-block}.claim-value-cell{font-family:var(--font-mono);word-break:break-all;max-width:400px;font-size:.75rem}.claim-timestamp{color:var(--color-on-surface-variant);font-size:.7rem;font-family:var(--font-sans)}.claim-section-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:.25rem;padding:1px 6px;font-size:.625rem;font-weight:600;display:inline-block}.claim-section--header{background:color-mix(in srgb, var(--color-error) 10%, transparent);color:var(--color-error)}.claim-section--payload{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.claim-value-cell{max-width:180px}}
